我创建了一个数据网格,它显示从数据库填充的记录表,并且希望在满足特定条件时为数据网格的单元格设置动画。为此,我创建了一个名为BlinkConverter的转换器类,它继承了 IValueConverter。
为了将此转换器投入使用,我已将项目命名空间映射到 xaml 编辑器
xmlns:local="clr-namespace:BlinkApplication"
注意: BlinkApplication 是我的项目的名称
添加后,我正在尝试创建我的BlinkConvertor类的实例,以便与 Windows.Resources 集合绑定为
<Window.Resources>
<local:BlinkConverter x:key="Blink"></local:BlinkConverter>
</Window.Resources>
在这里,我的 Intellisense 在我输入"local:"后没有检测到 BlinkCoverter 类,即使我尝试输入,我也有一个错误,指出 "The type local:BlinkConverter was not found. 验证您是否缺少程序集引用并且所有已构建引用的程序集。”
即使我在我的 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;
}
}
}