1

コードからこれを作成するにはどうすればよいですか?

<CheckBox Command="{Binding Source={StaticResource VMLocator}, Path=TimeTableInformationViewModel.MyCommand }"
                  CommandParameter="{Binding valueFromInput}" />

コードの後ろから Command プロパティを設定する方法がわかりません:

    public static DataTemplate CreateDataTemplate()
    {
        var block = new FrameworkElementFactory(typeof(CheckBox));
        block.SetBinding(CheckBox.CommandProperty, new Binding(""));
        DataTemplate newDataTemplate = new DataTemplate() { VisualTree = block };

    }
4

1 に答える 1

3

これを試して:

TypeOfYourObject vmLocator = (TypeOfYourObject)Resources["VMLocator"];
CheckBox checkBox = new CheckBox();
checkBox.Command = vmLocator.TimeTableInformationViewModel.MyCommand;
checkBox.CommandParameter = vmLocator.valueFromInput;

更新 >>>

これを行うにはいくつかの方法がありますが、... の設定を含む簡単な例を含めましたBinding。これ以上については、C# コードで DataTemplate を作成するにはどうすればよいですか?を参照してください。DataTemplate投稿して、より大きなコードを作成する方法を見つけてください。

FrameworkElementFactory checkbox = new FrameworkElementFactory(typeof(CheckBox));
checkBox.Name = "aCheckBox";
checkBox.SetBinding(TextBlock.IsCheckedProperty, new Binding("YourBoolProperty"));
DataTemplate dataTemplate = new DataTemplate() { VisualTree = checkbox };
于 2013-09-05T08:55:56.967 に答える