gpt4 book ai didi

c# - XAML 中的映射命名空间不起作用

转载 作者:太空狗 更新时间:2023-10-29 23:24:34 26 4
gpt4 key购买 nike

我创建了一个数据网格,它显示了从数据库中填充的记录表&想在满足特定条件时为数据网格的单元格设置动画。为此,我创建了一个名为 BlinkConverter 的转换器类,它继承了 IValueConverter。

为了将此转换器付诸实践,我已将项目命名空间映射到 xaml 编辑器上,如下所示

       xmlns:local="clr-namespace:BlinkApplication"

注意: BlinkApplication 是我项目的名称

添加这个之后,我正在尝试创建我的 BlinkConvertor 类的实例,用于与 Windows.Resources 集合绑定(bind)为

        <Window.Resources>
<local:BlinkConverter x:key="Blink"></local:BlinkConverter>
</Window.Resources>

在我键入 "local: " 后,我的 Intellisense 没有检测到 BlinkCoverter 类,即使我尝试键入,我也有一个错误提示“找不到类型 local:BlinkConverter。验证您缺少程序集引用并且所有引用的程序集都已构建。”

尽管我已经在我的 xaml 编辑器中的 xmlns 下添加了整个项目。这里有什么问题?我错过了任何引用吗?

我是否必须将 Converter 类添加为 MainWindow.xaml.cs 类的一部分,或者添加一个名为 Converter 的新类,然后将其映射到 MainWindow.xaml.cs 类?

因为在第一次尝试时,我在第一次尝试时将 作为 Mainwindow.xaml.cs 的一部分添加,然后我的 Intellisense 没有检测到,但是当我添加一个单独的类作为 Converter.cs 时,我的 Intellisense 检测到但是我不知道映射到我的 Mainwindow.xaml.cs 类的方法:(

转换器.cs

        public class Converter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string cellvalue = value.ToString();
return cellvalue = ("Pass");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return false;
}

主窗口.xaml.cs

     namespace BlinkApplication
{
public partial class MainWindow : Window
{
SqlConnection cn;
SqlDataAdapter da;
DataSet ds;
public MainWindow()
{
InitializeComponent();
DataContext = this;
cn = new SqlConnection(@"Data Source=CZC0239ZWZ\SQLEXPRESS; Initial Catalog =Student; Integrated Security=true");
cn.Open();
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
da = new SqlDataAdapter("select * from dbo.View_StudentResults",cn);
ds = new DataSet();
da.Fill(ds);
dataGrid1.ItemsSource=ds.Tables[0].DefaultView;

}

}
}

最佳答案

解决方案是在 BlinkApplication.Converters 命名空间下向我的项目添加一个单独的类作为 myConverter 之后,构建项目并将该类添加到项目中正确的命名空间,以便 xaml 解释器找到它。

然后在 MainWindow.xaml 中,在顶部添加转换器命名空间

      xmlns:local="clr-namespace:BlinkApplication.Converters"

请注意,它与 Converters.cs 文件中声明的命名空间相匹配,它将“本地”标记与 BlinkApplication.Converters 命名空间相关联。

声明后,我可以在窗口或任何其他控件资源中使用它。

关于c# - XAML 中的映射命名空间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13800369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com