2010-04-06 28 views
5

嗨,我想知道是否有可能將WPF擴展控件上的切換按鈕對齊到最右側?如何對齊WPF擴展控件切換按鈕

+0

當你在下面提供的鏈接中有一個簡單的過程時,爲什麼你必須做這麼長的過程。 http://stackoverflow.com/questions/9288342/how-to-put-wpf-expander-toggle-button-onright – 2012-02-15 07:18:59

回答

14

使用WPF所有的東西都是可能的。 ;)不幸的是,並非所有事情都很簡單。這裏最好的選擇是重新模板擴展器。通過複製默認Expander模板開始,找到here

接下來,找到包含2列的Grid,其中一列包含ToggleButton,另一列包含ContentPresenter。交換列以使切換位於列1中。然後更改列定義大小,以便第一列爲星號,第二列爲大小20.完成後,模板中應該有一個塊,如下所示:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="20" /> 
    </Grid.ColumnDefinitions> 
    <ToggleButton Grid.Column="1" 
     IsChecked="{Binding Path=IsExpanded,Mode=TwoWay, 
     RelativeSource={RelativeSource TemplatedParent}}" 
     OverridesDefaultStyle="True" 
     Template="{StaticResource ExpanderToggleButton}" 
     Background="{StaticResource NormalBrush}" /> 
    <ContentPresenter Margin="4" 
     ContentSource="Header" 
     RecognizesAccessKey="True" /> 
</Grid> 

繼續修改模板,直到獲得所需的外觀。

編輯:在MSDN上提供的模板是「真正的」擴展器模板的裸機版本。如果您需要程式化擴展器模板,請使用Expression Blend並將現有控制模板從Expander中刪除。