2010-12-20 62 views
1

如何使用樣式設置UserControl的屬性? (我讀了相關的問題,但他們沒有解決我的問題)WPF - 無法將樣式分配給UserControl

我定義了一個簡單的用戶控件這樣的:

<UserControl x:Class="MyProject.RedSquare" 
    ... 
    Height="10" Width="10" Background="Red"> 
    <Grid> 

    </Grid> 
</UserControl> 

我現在可以手動分配此控件的寬度/高度。

但我不能指定樣式的屬性。

這不起作用:

<Window.Resources> 
    <Style x:Key="red" TargetType="{x:Type local:RedSquare}"> 
     <Setter Property="Width" Value="200" /> 
    </Style> 
</Window.Resources> 

... 

<local:RedSquare Style="{StaticResource red}" /> 

奇怪的行爲:我可以修改control's邊緣具風格,但所有其他屬性不工作?

任何想法?

回答

5

您的用戶控件有硬編碼的寬度和高度:

Height="10" Width="10" 

本地屬性值有較高的優先級,在一個風格二傳手值。嘗試用設計時值替換您的寬度/高度:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
d:DesignHeight="10" d:DesignWidth="10" 

問候, 科林·E.

+0

就解決了!謝謝! – Max 2010-12-20 11:57:08

+0

作爲一種替代方案,您也可以將硬編碼的值保留 – Max 2010-12-20 11:58:12

相關問題