我想使用转换器更改XAML控件的鼠标光标。
首先检查:
<Border Cursor="Help">
这样可以正常工作,当鼠标悬停在控件上时,我会得到帮助光标。
现在,如果我以这种方式实现转换器:
public class MouseCursorConverter : IValueConverter
{
public object Convert(object value, System.Type targetType, object parameter, CultureInfo culture)
{
try
{
if(<my logic>)
return System.Windows.Forms.Cursors.Help;
else
return System.Windows.Forms.Cursors.Arrow;
}
}
catch
{
return null;
}
}
...
}
然后以这种方式调用它:
<Border Cursor="{Binding pointCapture, Converter={StaticResource MouseCursorConverter}}">
我可以看到转换器在需要时被调用,它确实返回了正确的值。 但是,当我将鼠标悬停在控件上时,该值将被忽略。
知道为什么吗?
答案 0 :(得分:2)
您正在使用WinForms游标,请尝试System.Windows.Input.Cursors.Help。
由于TypeConverter,它可以在XAML中使用。