2017-02-22 4 views
1

ListViewGridView이 있습니다.WPF GridViewCellTemplate 및 GridViewColumnHeader 너비 문제

<GridViewColumn Header="{lex:Loc Lang:minTemperature}" x:Name="MinTemperatureColumn" 
    Width="{Binding IsVisible, Converter={StaticResource BoolToSizeConverter}}"> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <xctk:DoubleUpDown 
           Value="{Binding AdditionalData.MinTemperature, Converter={StaticResource TemperatureToTemperatureConverter}, Mode=TwoWay}" 
           Style="{DynamicResource TemperatureDoubleUpDown}" 
           Minimum="{Binding AbsoluteTemperatureMinimum, RelativeSource={RelativeSource 
                Mode=FindAncestor, AncestorType=Window}}" 
           ValueChanged="OnRunDataChanged" /> 
         <TextBlock 
           Text="{Binding TemperatureUnitMeasure, RelativeSource={RelativeSource 
                Mode=FindAncestor, AncestorType=Window}}" 
           Margin="3" 
           VerticalAlignment="Center" 
           Foreground="{DynamicResource StandardForegroundColor}" /> 
        </StackPanel> 
       </DataTemplate> 
     </GridViewColumn.CellTemplate> 
</GridViewColumn> 

과 Xceed 스타일의 XAML은 다음과 같습니다

in the figure

을 같이 GridViewColumns의 두 사람은 XAML은 다음과 같이 정의된다, 헤더가 DataTemplate에 정의 된 내용보다 폭이 다음 :

<Style x:Key="TemperatureDoubleUpDown" TargetType="{x:Type xctk:DoubleUpDown}" 
     BasedOn="{StaticResource {x:Type xctk:DoubleUpDown}}"> 
    <Setter Property="FontSize" Value="18" /> 
    <Setter Property="Width" Value="Auto" /> 
    <Setter Property="Increment" Value="1" /> 
    <Setter Property="FormatString" Value="N0" /> 
</Style> 

어떤 도움을 주셔서 감사합니다! 감사합니다.

+0

너비 속성에 변환기가 있습니다. 코드를 게시 할 수 있습니까? –

답변

0

해결 된입니다. StackPanel을 Grid로 대체합니다.

<GridViewColumn Header="{Binding MinTemperatureUnitMeasure, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" 
     x:Name="MinTemperatureColumn" 
     Width="{Binding IsCurrentJobTermocamera, Converter={StaticResource BoolToSizeConverter}}"> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
       <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*"/> 
         </Grid.ColumnDefinitions> 
         <xctk:DoubleUpDown 
           Grid.Column="0" 
           Margin="5" 
           Value="{Binding AdditionalData.MinTemperature, Converter={StaticResource TemperatureToTemperatureConverter}, Mode=TwoWay}" 
           Style="{DynamicResource TemperatureDoubleUpDown}" 
           Minimum="{Binding AbsoluteTemperatureMinimum, RelativeSource={RelativeSource 
                Mode=FindAncestor, AncestorType=Window}}" 
           ValueChanged="OnRunDataChanged" 
           HorizontalAlignment="Stretch"/> 
        </Grid> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
</GridViewColumn>