WPF - 通过资源绑定数据模板

时间:2017-04-01 06:59:53

标签: c# wpf xaml binding datatemplate

我尝试通过数据模板的资源绑定数据网格中的值,然后收到警告消息"找不到目标元素的管理FrameworkElement或FrameworkContentElement。 [...]"

示例依赖对象

public class ExampleDO : DependencyObject, INotifyPropertyChanged
{
    //Implementation for Interface is given and called in Method RaisePropertyChange
    ...

    public static readonly DependencyProperty TestProperty = DependencyProperty.Register("Test", typeof(object), typeof(ExampleDO), new PropertyMetadata(default(object)));

    public Object Test 
    {
         get { return GetValue(TestProperty); }
         set { SetValue(TestProperty, value); }
    }

    private string _testValue = "Hello World";

    public string TestValue
    {
         get { return _testValue; }
         set { _testValue = value; RaisePropertyChange(); }
    }
}

...以及XAML中的实现:

<DataGrid ...>
    <DataGrid.Columns>
        <DataGridTemplateColumn>
             <DataGridTemplateColumn.CellTemplate>
                  <DataTemplate>
                      <DataTemplate.Resources>
                           <local:ExampleDO x:Key="DO" Test="{Binding}"/>
                      </DataTemplate.Resources>
                      <TextBlock Text="{Binding Source={StaticResource DO}, Path=Test}"/>
                  </DataTemplate>
             </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

请注意,这是一个非常愚蠢的例子。通常我会将依赖属性中的值设置为DO对象中的其他属性。请注意,我直接编写了文本,这不是现有代码的副本,因此可能包含错误。

C#/ WPF的绑定问题是什么?

谢谢@all!

0 个答案:

没有答案