如何在XAML中正确引用一个类

6

好的,这是一个非常非常初级的问题,我几乎不好意思问......

我想在我的XAML文件中引用一个类。它是一个DataGrid列选择正确编辑模板的DataTemplateSelector。

无论如何,我已经将这个类写入了我的代码后面,在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一样简单...谢谢!
2个回答

3

好的...它突然开始工作了。只是需要重新构建。


1
你可以添加一个键,这样你就可以在XAML中设置数据上下文而不是在代码后面:
   <local:RangeValuesEditTemplateSelector x:key="RVETS">

然后,例如设置外部网格的DataContext:

   <Grid DataContext={Binding Source = {StaticResource RVETS}} //Something like this I think

然后,你可以直接将网格中的任何内容绑定到你在代码后面设置的属性上。不确定这是否有用,只是想分享一下 :)


哇,刚刚意识到这已经是两年前的事了。 - TMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接