好的,这是一个超级超级的菜鸟问题,我几乎不好意思问...
我想在我的XAML文件中引用一个类。它是一个DataTemplateSelector,用于为DataGrid列选择正确的编辑模板。
无论如何,我已经将类编写到我的代码后面,将本地命名空间添加到XAML顶部的顶部,但是当我尝试从XAML引用该类时,它告诉我该类不存在于本地命名空间。我必须遗漏一些非常简单的东西,但我无法理解......
这是我的代码。
XAML:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tk="http://schemas.microsoft.com/wpf/2008/toolkit"
xmlns:local="clr-namespace:CustomFields"
xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
x:Class="CustomFields.MainWindow"
x:Name="Window"
Title="Define Custom Fields"
Width="425" Height="400" MinWidth="425" MinHeight="400">
<Window.Resources>
<ResourceDictionary>
<local:RangeValuesEditTemplateSelector>
blah blah blah...
</local:RangeValuesEditTemplateSelector>
</ResourceDictionary>
</Window.Resources>
C#:
namespace CustomFields
{
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
// Insert code required on object creation below this point.
}
}
public class RangeValuesEditTemplateSelector : DataTemplateSelector
{
public RangeValuesEditTemplateSelector(){
MessageBox.Show("hello");
}
}
}
任何想法我做错了什么?我认为这应该很简单,如1-2-3 ......
谢谢!
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以添加一个键,这样您就可以在xaml中设置datacontext而不是代码:
<local:RangeValuesEditTemplateSelector x:key="RVETS">
然后例如设置外部网格的DataContext:
<Grid DataContext={Binding Source = {StaticResource RVETS}} //Something like this I think
然后,该网格中的任何内容都可以直接绑定到您在代码后面设置的属性。 不确定这是否有用,只是想我会分享:)