我创建了一个数据网格,它显示从数据库填充的记录表,并希望当满足特定条件时,对数据网格的单元格进行动画处理。 为此,我创建了一个名为BlinkConverter的转换器类,该类继承自IValueConverter接口。
为了让这个转换器发挥作用,我将项目命名空间映射到了XAML编辑器中。
xmlns:local="clr-namespace:BlinkApplication"
注意:BlinkApplication是我的项目名称
添加上述代码后,我正在尝试创建BlinkConvertor类的实例,以便将其绑定到Windows.Resources集合中。
<Window.Resources>
<local:BlinkConverter x:key="Blink"></local:BlinkConverter>
</Window.Resources>
当我输入"local:"时,我的Intellisense无法检测到BlinkCoverter类,甚至在尝试输入时,出现错误提示"找不到类型local:BlinkConverter。请验证是否缺少程序集引用以及所有已引用的程序集是否已构建。"
即使我已经在xaml编辑器中的xmlns下添加了整个项目。
这里出了什么问题?我错过了任何引用吗?
我需要将转换器类作为MainWindow.xaml.cs类的一部分添加,还是需要添加一个名为Converter的新类,然后将其映射到MainWindow.xaml.cs类中?
因为第一次尝试时,我将其作为Mainwindow.xaml.cs的一部分添加,然后我的Intellisense没有检测到,但是当我添加了一个名为Converter.cs的单独类时,我的Intellisense检测到了,但我不知道如何映射到我的MainWindow.xaml.cs类 :(
Converter.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;
}
MainWindow.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;
}
}
}