【问题标题】:Binding and style doesn't work for Win8?绑定和样式不适用于 Win8?
【发布时间】:2013-08-15 18:57:03
【问题描述】:

我从一个 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,并且属性是真彩色(不是黑色)。 知道如何解决这个问题吗?

【问题讨论】:

标签: xaml windows-8 windows-runtime windows-store-apps winrt-xaml


【解决方案1】:

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

【讨论】:

【解决方案2】:
<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>

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

【讨论】:

  • 不,不起作用。编译器说:“资源 MyBackground 无法解析。
  • 我想做的是建立我自己的DataGrid。我希望每列的颜色不同。我也想随机化颜色,这就是为什么我不希望 MyBackground 成为一个常量。
  • @Xyroid:为什么会这样? #Tal:那你叫错了树芽。看看数据模板和数据模板选择器
猜你喜欢
  • 2015-06-14
  • 2013-03-19
  • 2018-12-22
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多