在C#wp8 VS2012中获取按钮的颜色

时间:2014-07-08 17:36:45

标签: c# visual-studio-2012 windows-phone-8

我有这个工作代码:

private void Knof6_Click(object sender, RoutedEventArgs e)
    {
        int NakljucnaBarva = RandomNumber(1, 4);
        switch (NakljucnaBarva)
        {
            case 1: Knof6.Background = new SolidColorBrush(Colors.Red);
                break;
            case 2: Knof6.Background = new SolidColorBrush(Colors.Green);
                break;
            case 3: Knof6.Background = new SolidColorBrush(Colors.Blue);
                break;

        }
    }

我希望获得一个按钮的当前颜色并播放声音文件(如果它是红色的)。 到目前为止,我无法从文档或教程中获得任何有用的信息。任何提示?

2 个答案:

答案 0 :(得分:0)

我建议您使用按钮的Tag成员来存储您的自定义数据,而不是依赖于重复使用现有功能。

像这样:

Knof6.Tag = NakljucnaBarva 

标签成员特别是

  

可用于存储自定义信息的任意对象值   关于这个元素。

以下是doc的链接。

http://msdn.microsoft.com/en-us/library/system.windows.controls.button(v=vs.110).aspx

答案 1 :(得分:0)

如果Knof6_Click是按下按钮的点击事件,并且您想要检查其背景颜色,则可以执行以下操作。

private void Knof6_Click(object sender, RoutedEventArgs e)
{    
    Button button = (Button)sender; 
    if(button.Background == new SolidColorBrush(Colors.Red))
    {
        // Play sound
    }
}