2014-07-07 248 views
0

下面是我對按鈕的代碼:水平對齊

<Button //namespaces 
     x:Class="myProject.MyButton" 
     FocusVisualStyle="{x:Null}" 
     Foreground="White" 
     Height="60" 
     Width="200" 
     HorizontalContentAlignment="Center" 
     VerticalContentAlignment="Center" 
     Padding="0 0 1 1" 
     > 
    <Button.Template> 
     <ControlTemplate TargetType="{x:Type Button}"> 
      <Border x:Name="border" CornerRadius="8"> 
       <Border.Background> 
        #006BB7 
       </Border.Background> 
       <DockPanel Margin="3"> 
        <Image Source="{Binding Path=Tag, RelativeSource={RelativeSource TemplatedParent}}" Height="30" Stretch="Fill" Margin="0 0 0 0" HorizontalAlignment="Left"/> 
        <TextBlock Text="{Binding Path=Content,RelativeSource={RelativeSource TemplatedParent}}" FontSize="20" VerticalAlignment="Center" Padding="10,0,10,0" HorizontalAlignment="Left"/> 
        <Image Source="{DynamicResource ResourceKey=Bmp}" Height="30" Width="30" HorizontalAlignment="Right" Margin="0 0 10 0"></Image> 
       </DockPanel> 
      </Border> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 

當我這樣稱呼它:

<ui:MyButton x:Name="btnGo" Tag="/Resources/Go.png" Content="Go" Command="{Binding Path=GoCommand}" Margin="20 0 0 0"/> 

,一切看起來像我希望它看起來:第一圖像ISN不顯示,按鈕的第三部分(第二個圖像)右對齊。

然而,在這裏:

<ui:MyButton Margin="10" Content="{Binding MyName}" Tag="{Binding Path}" HorizontalAlignment="Center" VerticalAlignment="Top"> 
    <Button.Resources> 
     <BitmapImage x:Key="Bmp" UriSource="/Images/arrowRight.png"></BitmapImage> 
    </Button.Resources> 
</ui:MyButton> 

WHN我這樣調用按鈕,文本和第二圖像不顯示。所有顯示的是第一個圖像,並通過整個按鈕的寬度拉伸。這是爲什麼發生?我想讓這個行爲像另一個行爲一樣。

+1

,然後添加適當的'DependencyProperty'來綁定到你的兩個'ImageSource'屬性。 – Sheridan

+1

@Sheridan我沒有定義按鈕的類。 –

+0

那麼這是什麼:'

回答

0

試試這個

Change content of Image and of TextBlock when the Image and the TextBlock are in a button我們使用資源的按鈕,我們在這裏如果你要定義一個`MyButton`自定義類的`Button`使用<ui:MyButton>

<ui:MyButton Margin="10" Content="{Binding MyName}" Tag="{Binding Path}" HorizontalAlignment="Center" VerticalAlignment="Top"> 
    <ui:MyButton.Resources> 
     <BitmapImage x:Key="Bmp" UriSource="/Images/arrowRight.png"></BitmapImage> 
    </ui:MyButton.Resources> 
</ui:MyButton> 
+0

它不起作用。 –

+0

它的工作here.i在這裏使用您的代碼checked.check您的圖像源。 –

+0

@petko_stankoski請在StackOverflow中傳達您的問題時特別注意。 *「不起作用」*是完全模糊的,不明確的,並且不會幫助人們理解您的問題。請儘可能詳細地解釋您目前的狀況,並解釋您的預期結果。 –