簡體   English   中英

將MahApps.Metro主題和重音應用於其他控件或矩形

[英]Apply MahApps.Metro theme and accent to other controls or rectangles

我正在嘗試在窗口底部放置一個狀態欄,使用與標題欄相同的顏色方案。 我知道我缺少的是樣式繼承和/或模板設置,但我已經閱讀了幾個小時,我無法弄明白。

這是我的窗口當前的樣子:

運行時的窗口組合

以下是它在設計師中的表現:

設計師的窗口組成

我想要的是:

窗口底部的狀態欄,用於反映標題欄的樣式。 我認識到我目前的實現可能不太好,所以我也願意改變我的狀態欄定義,如下所示。 我試圖使用一個實際的狀態欄,但它不會按照我想要的方式運行(文本框不會填充空白區域,因此命令行輸入文本框很難點擊 - 也許我只是做錯了什么)。 我假設我也可以像其他任何東西一樣將樣式應用於矩形,對吧? 我錯過了一個帶有style屬性的關鍵組件,可能是模板或靜態資源的用戶,但我完全迷失了。

這是我目前的解決方案(標簽和兩個用於狀態更新和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>

我通過在狀態欄網格中使用AccentColorBrush資源解決了這個問題。

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

我通過檢查GitHub上的MahApps.Metro中的許多XAML文件找到了它。 對於某些人來說這似乎是顯而易見的,但對於那些試圖學習XAML / WPF / MVVM的人來說,這並不是直截了當的。 我希望這可以幫助某些人,因為我已經掙扎了很長一段時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM