我有ListView
GridView
。其中两个GridViewColumns
的标题宽度小于DataTemplate
中定义的内容,如图所示
XAML定义如下:
<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如下:
<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)
<强>解决即可。我用Stack替换了StackPanel。
<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>