1

我从一个 TextBox 派生,并称它为 MyTextBox。在我的 LayoutAwarePage 上,我创建了 2 个 SolidColorBrush 道具:MyBackground 和 MyBorder。在该页面的 Xaml 中,我为控件 MyTextBox 编写了一个带有样式的 ResourceDictionary:

 <Grid.Resources>
        <ResourceDictionary>
            <Style TargetType="a:MyTextBox">
                <Setter Property="Background" Value="{Binding MyBackground}"></Setter>
                <Setter Property="BorderBrush" Value="{Binding MyBorder}"></Setter>
                <Setter Property="Width" Value="200"></Setter>
                <Setter Property="IsReadOnly" Value="False"></Setter>
                <Setter  Property="BorderBrush" Value="3"></Setter>
            </Style>
        </ResourceDictionary>
    </Grid.Resources>

当我运行此页面时,我看不到控件。我没有忘记为页面创建一个DataContext,并且属性是真彩色(不是黑色)。知道如何解决这个问题吗?

4

2 回答 2

1

WinRT 不支持样式设置器中的绑定。

于 2013-08-16T14:34:15.780 回答
-1
<Grid.Resources>
        <ResourceDictionary>
            <Style TargetType="a:MyTextBox">
                <Setter Property="Background" Value="{StaticResource MyBackground}"></Setter>
                <Setter Property="BorderBrush" Value="{StaticResource MyBorder}"></Setter>
                <Setter Property="Width" Value="200"></Setter>
                <Setter Property="IsReadOnly" Value="False"></Setter>
                <Setter  Property="BorderBrush" Value="3"></Setter>
            </Style>
        </ResourceDictionary>
    </Grid.Resources>

尝试这个

在 App.xaml 里面做 <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Common/StandardStyles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary>

并在您的公共目录中创建一个名为标准样式的文件并在那里声明您的画笔(您实际上可以在那里声明所有内容

于 2013-08-16T08:34:55.093 回答