c# - 风格完全改变

标签 c# wpf xaml

这个 ModernUI TextBox 怎么来的

enter image description here

改变它的外观

enter image description here

当我所做的只是添加这种样式时:

<UserControl.Resources>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="TextAlignment" Value="Right"/>
    </Style>
</UserControl.Resources>

当我直接在元素中设置属性时:

<TextBox Text="" TextAlignment="Right"></TextBox>

一切看起来都应该如此:

enter image description here

我真的不明白,如果能给我一个简短的提示,我将不胜感激。

最佳答案

问题是它将完全取代其他样式。

添加 BasedOn属性来指定此样式将扩展 ModernUI 样式:

<UserControl.Resources>
    <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource whateverModernUIStyleNameIs}">
        <Setter Property="TextAlignment" Value="Right"/>
    </Style>
</UserControl.Resources>

您还可以指定隐式样式:BasedOn="{StaticResource {x:Type TextBox}}",正如 Mike C 所指出的。

阅读此问题了解更多详情:How to apply multiple styles in WPF

关于c# - 风格完全改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29679691/

相关文章:

c# - 将窗体设置为父级抛出异常 "Top-level control cannot be added to a control"

c# - WebClient 抛出 "No Data Available for Encoding 1252"

wpf - 在 WPF 窗口中嵌入 WinForms 图形

c# - 将类中的属性直接绑定(bind)到 XAML

c# - 带有滚动背景图像的 ListView

c# - Entity Framework 4.3.1 到 6 EDMX (ObjectContext)

c# - Linq to SQL 有序子集合

c# - 如何在 WPF 中使用数据绑定(bind)为列表中的每个元素创建新的用户控件?

c# - 将窗口按钮置于前面

c# - WPF 在异步文件复制期间显示进度条