将MahApps.Metro主题和强调应用于其他控件或矩形

4
我试图在窗口底部放置一个状态栏,其使用与标题栏相同的颜色方案。 我知道我缺少的部分是样式继承和/或模板设置,但我已经阅读了数小时,却无法弄清楚。
以下是我的窗口的当前外观:
这是设计器中的外观:
我想要的是窗口底部的状态栏反映标题栏的风格。 我意识到我的当前实现可能不太好,因此我也可以更改如下所示的状态栏定义。 我尝试使用实际的状态栏,但它无法按照我想要的方式工作(文本框无法填充空白空间,因此命令行输入文本框非常难以点击 - 也许我做错了什么)。 我假设我也可以像其他任何东西一样将样式应用于矩形,对吗? 我正缺少样式属性和模板或静态资源的用户等关键组件,但我完全迷失了方向。
这是我的当前解决方案(一个标签和两个文本框用于状态更新和cmdline):
<Grid Grid.Row="1">
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0.5*"/>
        <ColumnDefinition Width="0.5*"/>
    </Grid.ColumnDefinitions>
    <Label Grid.Column="0"/>
    <Grid  Grid.Column="1">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBox Grid.Row="0" Grid.Column="0"/>
        <TextBox Grid.Row="0" Grid.Column="1"/>
    </Grid>
</Grid>
1个回答

11

我通过在状态栏网格中使用AccentColorBrush资源解决了这个问题。

<Grid Grid.Row="1" Background="{DynamicResource AccentColorBrush}">

我在GitHub上检查了许多MahApps.Metro的XAML文件才找到了它。这对于那些试图学习XAML/WPF/MVVM的人来说可能很明显,但对我而言并不是一件容易的事情。希望这可以帮助到其他人,因为我也花费了相当长时间才解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接