使用ContentTemplate和XamlReader.Parse

时间:2015-03-12 13:26:05

标签: c# wpf xaml

我想知道是否可以在字符串中定义一个click事件然后解析为ControlTemplate ......

我的意思是,我将ControlTemplate定义为

  string template =
  @"<ControlTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'><ComboBox Width='120' Height='30' " +
                                  "ItemsSource='{TemplateBinding ItemsSource}'> " +

                                  "DisplayMemberPath='{TemplateBinding DisplayMemeberPath}' >" +
                                  "<ComboBox.ItemTemplate>" +
                                  "<DataTemplate>" +
                                 "<CheckBox Content=\"{Binding DisplayMemeberPath}\" Click=\"CheckBox_Click\"> " +
                       "</CheckBox>" +
                                  "</DataTemplate>" +
                                  "</ComboBox.ItemTemplate>" +
                                  "</ComboBox> </ControlTemplate> ";

当我打开下拉列表时,我得到了

Additional information: Failed to create a 'Click' from the text 'CheckBox_Click'.

我认为这是因为它不知道Click元素是什么......在你问我刚刚在我的控股类中定义了一个点击事件...

有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:0)

不,这是不可能的:解析器无法知道在哪里查找Click处理程序。

知道它应该是Checkbox_Click方法,然而解析器无法代表您解决这个问题,它可能是任何合适的方法。

您唯一的选择是手动连接点击事件。