我創建了一個由邊框和內容展示器組成的按鈕模板。樣式然後纏繞在此模板上並應用於按鈕。但是,使用此按鈕時,它不具有水平和垂直對齊的值。在設計器中,對齊顯示和按鈕位於正確的位置,但是當我運行該程序時,該按鈕似乎具有水平對齊=左對齊和垂直對齊=右對齊。有任何想法嗎?
下面是模板的代碼:WPF按鈕模板對齊方式設置不正確
<ControlTemplate TargetType="Button" x:Key="DefaultButtonTemplate">
<Border CornerRadius="4"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}">
<Grid>
<ContentPresenter ContentSource="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
</Grid>
</Border>
</ControlTemplate>
下面是樣式代碼:
<Style TargetType="Button">
<Setter Property="Background" Value="{DynamicResource WindowHeaderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource WindowBorderBrush}" />
<Setter Property="Template" Value="{DynamicResource DefaultButtonTemplate}" />
<Setter Property="BorderThickness" Value="1" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource ButtonHoverBrush}" />
<Setter Property="BitmapEffect" Value="{DynamicResource ButtonHoverGlow}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="{DynamicResource ButtonPressedBrush}" />
</Trigger>
</Style.Triggers>
</Style>
這裏是按鈕的代碼:
<Button Name="button1" Height="31" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0,0,10,10">Button</Button>
有文件後面沒有代碼
此代碼的結果是一個按鈕出現在父母的左上角平靠着邊緣
我認爲看到代碼隱藏和標記在這裏會有所幫助。 – Charlie 2010-05-11 23:33:16
我會發布它,但沒有代碼背後 – TerrorAustralis 2010-05-11 23:35:54