0

さて、私はこの質問を投稿したばかりですが、私は何も悪いことをしていないと思いました。私のコード(およびすべての回答のコード)は正しいですが、私のdev-maschineは.NET4.5で実行されており、コンボボックスのバインドに問題があるようです...

それで、ここに質問の新しいバージョンがあります:コンボボックスのSelectedItemを.NET4.5の静的プロパティに双方向でバインドする方法は?

次のコードスニペットは.net4では機能しますが、.NET4.5では機能しません。4.5では、選択した値が静的プロパティに伝播されないだけです。

私のViewModel:

public class MainWindowViewModel
{
    public static List<String> MyElements { get; set; }
    public static string SelectedElement { get; set; }

    static MainWindowViewModel()
    {
        MyElements = new List<string>() {"a", "b", "c"};
        SelectedElement = "a";
    }
}

そして私のXAML

<Window.Resources>
    <me:MainWindowViewModel x:Key="model"/>
</Window.Resources>

<StackPanel>
    <ComboBox
        ItemsSource="{Binding Source={x:Static me:MainWindowViewModel.MyElements}, Mode=OneWay}"
        SelectedItem="{Binding Source={StaticResource model}, Path=SelectedElement}" />
</StackPanel>

ComboBoxのSelectedItemを.NET4.5の静的プロパティに双方向でバインドする方法を知っている人はいますか?

4

1 に答える 1

0

Microsoft Connect に関する私のレポートを参照してください。すべてのSelectorコントロールがこの問題に感染します。

最後に、数週間前に Microsoft が適切なパッチをリリースしました。これは Windows Update を通じて既に配布されています。ナレッジ ベース KB2805222 (WPF - 第 7 号)を参照してください。

WPF - 問題 7: 静的プロパティを含むバインド パスを使用して、セレクター プロパティ (SelectedItem プロパティなど) または ComboBox.Text プロパティを変更するとします。この状況では、バインディングは変更に反応しません。具体的には、新しい値はデータ項目に書き込まれません。

于 2013-06-16T14:43:39.993 に答える