2017-04-24 12 views
-4

XAMLを使用してデータソース内の現在のアイテムにバインドする方法を知っています。ソースをリソースにして、DataContextをリソースに設定し、バインディングItems/を追加します。C#コードを使用してデータソース内の現在のアイテムにDataContextをバインドします

私の質問は、c#を使って現在のアイテムにどのようにバインドしていますか?

私は新しいアイテムにコンテキストを設定編集オプションがあります。今、私は「

(Master.ItemsSource as Items)[Master.SelectedIndex] = (Item)border.DataContext; 

border.DataContext = new Item(); 

ユーザーが保存をクリックすると、私は、データソースを更新しますどのように私はborderのDataContextをC#コードを使用して現在の項目に戻すのですか?

border.DataContext = ??? 

編集

XAMLコードは次のとおりです。

<Border DataContext="{Binding Items/}" Name="border"> 
    ... 
</Border> 

私の質問は、私はコード内のDataContextを変更した場合、どのように私は戻ってバインディング上記入手できますでしょうか?

+2

は、あなたはどんな「現在の項目」に 'border.DataContext'あるを設定したいと言っていますか? WPFを使用する独自の独自の方法にまだ精通していない人には分かりやすいという点で、実際の問題は何ですか?それが不可能な場合は、十分なコードを共有して、これらのすべてが何を意味するのか把握することができます。 –

+3

WPVMを使用して次のプロジェクトを開始する前にMVVMを習得することをお勧めします。あなたは車輪を再発明するために多くの時間を費やす必要はありません。 –

+0

@EdPlunkett MVVMでは "{Binding Items /}"表記を使用してバインドしないと言っていますか? – MotKohn

答えて

0

downvotesの多くを取得した後、少なくとも私はそれを考え出した:

にです:

border.SetBinding(DataContextProperty, "Items/"); 
関連する問題