2015-07-02 49 views
0

我有ListViewColumn與滑塊和TextBlock以顯示Slider值:排列在同一列2個控制器

<DataTemplate x:Key="MyDataTemplate2"> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="70" /> 
      <ColumnDefinition Width="30" /> 
     </Grid.ColumnDefinitions> 
     <Slider Grid.Column="0" Name="sliderColumn" VerticalAlignment="Center" HorizontalAlignment="Left" TickPlacement="None" 
      Minimum="0" Maximum="50" Value="1" Style="{StaticResource SliderStyle}" Width="70" 
      TickFrequency="1" IsSnapToTickEnabled="True"/> 
     <TextBlock Grid.Column="0" Text="{Binding Path=Value, ElementName=sliderColumn, StringFormat={}x{0}}" FontSize="11" Foreground="White" 
      VerticalAlignment="Center" HorizontalAlignment="Right"/> 
    </Grid> 
</DataTemplate> 

這是結果:

enter image description here

而當Slider值變更TextBlock被Slider隱藏:

enter image description here

我的代碼有什麼問題?

回答

1

要解決你的問題,你必須將的TextBlock添加到第1列,太用HorizontalAlign屬性來調整您的左TextBlock,添加一個小左Margin留在最好的視覺。

下面的代碼可以解決你的問題:

<DataTemplate x:Key="MyDataTemplate2"> 

<Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="70" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 
     <Slider Grid.Column="0" Name="sliderColumn" VerticalAlignment="Center" HorizontalAlignment="Left" TickPlacement="None" 
      Minimum="0" Maximum="50" Value="1" Style="{StaticResource SliderStyle}" Width="70" TickFrequency="1" IsSnapToTickEnabled="True"/> 
     <TextBlock Grid.Column="1" Margin="5,0,0,0" Text="{Binding Path=Value, ElementName=sliderColumn, StringFormat={}x{0}}" FontSize="11" Foreground="black" 
      VerticalAlignment="Center" HorizontalAlignment="Left"/> 
    </Grid> 
</DataTemplate> 
+0

這個例子解決你的問題? –

+0

是的,非常感謝您的幫助。 –

0

您的TextBlock與滑塊位於同一列,請嘗試將它放在Grid.Column="1"而不是0.如果這是有意的,您也可以在任一塊上放一個邊距,以在兩者之間留出空間。

+0

我已經盡力了,我可以有一個簡短的例子嗎? –