2012-02-19 13 views
5

C#で参照渡しがどのように動作しているのでしょうか。関数への参照によってWPF DataGridコントロールを渡し、ゆっくりと関数をDataGrid.Itemsコレクションに追加すると、UIのDataGridは新しいDataGrid.Items.Add()呼び出しごとに更新されますか?または、関数が返ったときにのみ更新されますか?私は前のシナリオを達成したいと思います。もし参照渡しがそのトリックをしなければ、これを達成する方法についてのアドバイスが大好きです。前もって感謝します。参照渡しはC#で実際にどのように機能しますか?

答えて

2

元のシナリオが必要な場合は、Add()メソッドを使用した後に次のステートメントでDataGridのUpdateLayout()関数を呼び出します。これが役立つことを願っています。

0

Ethicallogicsがサブクラス化してオーバーライドすると言った拡張機能のように、毎回UpdateLayoutを呼び出すようにすると、心配する必要はありません。

一般的に、すべての.netクラス[具体的には何かのUI関連]をサブクラス化することは良いことです。カスタム要件を実行する場合、後で行う必要はありません。独自のサブクラスを常に使用してください。

2

参照渡しは、あなたの状況に関係なくです。参照渡し(ref)では、呼び出し側スコープの変数に割り当てることができます。あなたはそれをやろうとしていません。 DataGridの参照にアクセスし、そのItemsフィールドにアクセスしたいだけです。それはrefを全く必要としません。

関連する問題