根据材料设计设置激活指示器的样式

时间:2018-07-31 08:15:50

标签: wpf textbox material-design styling

我想根据WPF中的材料设计来设置激活指示器的样式。我希望样式发生在外部styling.xaml文件中,因此我正在使用的文本框可以绑定到该样式。

文本框:

<TextBox  materialDesign:HintAssist.Hint="Search:" Grid.Column="1" Margin="35 8 20 5" 
Width="200" Style="{"STYLE style"}/>

1 个答案:

答案 0 :(得分:1)

您可以将其设置为 StaticResource

文件: styling.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:YourNamespace">

   <Style TargetType="{x:Type TextBox}" x:key="YourCustomTextBoxStyle">
        <Setter Property="Margin" Value="35 8 20 5"/>
        ....
    </Style>    

</ResourceDictionary>

在视图(或应用程序)中,添加对样式ResourceDictionary的引用,并将样式用作静态资源:

<UserControl
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:YourNamespace.Wpf"
            x:Class="YourView" mc:Ignorable="d">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/YourNamespace;component/Themes/styling.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>

    <TextBox  materialDesign:HintAssist.Hint="Search:" Grid.Column="1" Width="200" Style="{StaticResource YourCustomTextBoxStyle}/>

</UserControl>