WPF InkCanvas - 无法改变颜色
WPF InkCanvas - can't change color
这绝对可笑!
我试图通过 code 更改 inkCanvas 的颜色,但它不起作用。我看到了很多关于它的教程,但它们对我不起作用。尽管他们直截了当。我是 WPF 的新手,但仍然 - 这应该是一个明智的选择。
*注意:我可以通过XAML设置颜色,但这是一次性操作,不是我想要的。
我的代码:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Ink;
using System.Windows.Media;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
InkCanvas inkCanvas = new InkCanvas();
public MainWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(SetColor);
}
// doesn't work
private void SetColor(object sender, RoutedEventArgs e)
{
inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
}
// doesn't work either
private void Button_Click(object sender, RoutedEventArgs e)
{
inkAttributes.Color = Colors.Blue;
}
}
}
编辑:我的 XAML 是:
<Window...
< InkCanvas Name="inkCanvas" /> ....
在您的代码示例中,您在 window 的 code-behind 中定义了 inkCanvas
,但不要将其添加到 window 的可视控件中。
如果您使用 XAML 指定 canvas:
<Window x:Class="..."
...>
<InkCanvas x:Name="inkCanvas"/>
</Window>
或者在C#中定义并添加到window:
InkCanvas inkCanvas = new InkCanvas();
public MainWindow()
{
InitializeComponent();
this.Loaded += (sender, args) =>
{
this.AddChild(inkCanvas);
};
}
那么 inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
行应该可以正常工作了。
这绝对可笑! 我试图通过 code 更改 inkCanvas 的颜色,但它不起作用。我看到了很多关于它的教程,但它们对我不起作用。尽管他们直截了当。我是 WPF 的新手,但仍然 - 这应该是一个明智的选择。
*注意:我可以通过XAML设置颜色,但这是一次性操作,不是我想要的。
我的代码:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Ink;
using System.Windows.Media;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
InkCanvas inkCanvas = new InkCanvas();
public MainWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(SetColor);
}
// doesn't work
private void SetColor(object sender, RoutedEventArgs e)
{
inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
}
// doesn't work either
private void Button_Click(object sender, RoutedEventArgs e)
{
inkAttributes.Color = Colors.Blue;
}
}
}
编辑:我的 XAML 是:
<Window...
< InkCanvas Name="inkCanvas" /> ....
在您的代码示例中,您在 window 的 code-behind 中定义了 inkCanvas
,但不要将其添加到 window 的可视控件中。
如果您使用 XAML 指定 canvas:
<Window x:Class="..."
...>
<InkCanvas x:Name="inkCanvas"/>
</Window>
或者在C#中定义并添加到window:
InkCanvas inkCanvas = new InkCanvas();
public MainWindow()
{
InitializeComponent();
this.Loaded += (sender, args) =>
{
this.AddChild(inkCanvas);
};
}
那么 inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
行应该可以正常工作了。