如何提取点击画布的背景颜色

本文关键字:背景 颜色 何提取 提取 | 更新日期: 2023-09-27 18:32:38

我想允许用户选择要用于应用栏的颜色。我有这样的 XAML:

<StackPanel Orientation="Horizontal">
    <Canvas Background="Aqua" Width="20" Height="20" VerticalAlignment="Center" Tapped="CanvasColor_Tapped"></Canvas>
    <TextBlock Text="Aqua" VerticalAlignment="Center"></TextBlock>
</StackPanel>

。对于处理程序来说,这个想法:

private void CanvasColor_Tapped(object sender, TappedRoutedEventArgs treArgs)
{
    if (sender is Canvas)
    {
        Color colour = (Canvas) sender.Background;
    }
}

。但是编译器和我的头盖骨不合作/不在同一波长上。具体来说,我得到:

"对象"不包含"背景"

的定义,并且找不到接受类型为"对象"的第一个参数的扩展方法"背景"(您是否缺少 using 指令或程序集引用?

我需要做什么才能在所有 Canvas 控件之间共享事件处理程序以提取点击画布的背景色?

如何提取点击画布的背景颜色

我猜你缺少一对括号。

Color colour = ((Canvas)sender).Background;

编译器正在sender对象中查找Background属性,该属性的类型为 object