这太荒谬了!我试图通过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" /> ....发布于 2016-01-07 14:37:50
在代码示例中,可以在窗口的代码隐藏中定义inkCanvas,但不要将其添加到窗口的可视控件中。
如果您使用XAML指定画布:
<Window x:Class="..."
...>
<InkCanvas x:Name="inkCanvas"/>
</Window>或在C#中定义它并将其添加到窗口:
InkCanvas inkCanvas = new InkCanvas();
public MainWindow()
{
InitializeComponent();
this.Loaded += (sender, args) =>
{
this.AddChild(inkCanvas);
};
}然后,行inkCanvas.DefaultDrawingAttributes.Color = Colors.Red; shold实际工作。
https://stackoverflow.com/questions/34657460
复制相似问题