首次测试Windows Phone应用程序

时间:2010-06-11 20:12:28

标签: c# silverlight windows-phone-7

我下载了适用于Windows Phone的Microsoft Visual Studio 2010 Express,我编写了一个简单的应用程序来对模拟器进行首次测试。在这个应用程序中,我只有一个按钮,其属性Content绑定到一个名为ButtonText的字符串,并且属性Background绑定到名为FillColor的SolidColorBrush。我使用以下代码处理了Click事件:

    void MyButton_Click(object sender, RoutedEventArgs e)
    {
        if (toggle == true)
        {
            ButtonText = "Blue";
            FillColor = new SolidColorBrush(Colors.Blue);
        }
        else
        {
            ButtonText = "Red";
            FillColor = new SolidColorBrush(Colors.Red);
        }
        toggle = !toggle;
    }

不幸的是,这不起作用。虽然每次按下按钮时按钮的内容都会改变,但对于保持相同颜色的背景,我不能说相同。
你能告诉我有什么问题吗?谢谢。

我也发布了XAML:

    <Grid x:Name="ContentGrid" Grid.Row="1">
        <Button Name="MyButton" Width="300" Height="300"
                Content="{Binding Path=ButtonText}" 
                Background="{Binding Path=FillColor}" />
    </Grid>

1 个答案:

答案 0 :(得分:1)

问题在于使用行中的“新”:

FillColor = new SolidColorBrush(Colors.Blue);

使用“new”操作会破坏先前设置的数据绑定。请尝试使用以下内容:

FillColor.Color = Colors.Blue;

将更改替换为蓝色和红色,这应该可以解决问题。

HTH!
克里斯