首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF InkCanvas -不能改变颜色

WPF InkCanvas -不能改变颜色
EN

Stack Overflow用户
提问于 2016-01-07 14:21:07
回答 1查看 459关注 0票数 0

这太荒谬了!我试图通过inkCanvas代码来改变的颜色,但是它不起作用。我看了很多关于这方面的教程,但它们不适合我。尽管他们很直率。我是新来的WPF,但-这应该是一个不需要思考。

*注:我可以通过XAML设置颜色,但这是一次性操作,而不是我想要的。

我的代码:

代码语言:javascript
复制
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是:

代码语言:javascript
复制
<Window...
< InkCanvas Name="inkCanvas" /> ....
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-07 14:37:50

在代码示例中,可以在窗口的代码隐藏中定义inkCanvas,但不要将其添加到窗口的可视控件中。

如果您使用XAML指定画布:

代码语言:javascript
复制
<Window x:Class="..."
        ...>
    <InkCanvas x:Name="inkCanvas"/>
</Window>

或在C#中定义它并将其添加到窗口:

代码语言:javascript
复制
InkCanvas inkCanvas = new InkCanvas();

public MainWindow()
{
    InitializeComponent();
    this.Loaded += (sender, args) =>
    {
        this.AddChild(inkCanvas);
    };
}

然后,行inkCanvas.DefaultDrawingAttributes.Color = Colors.Red; shold实际工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34657460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档