如何设置GridViewColumn的宽度,它将在不同的分辨率上一直工作?例如,我有这个listView:
然后我在另一台PC上打开它(分辨率不同)我得到了这个观点:
缺少几列。 我复制了我的一个列xaml代码:
<ListView x:Name="sample" Margin="30,98.4,362,150" ScrollViewer.VerticalScrollBarVisibility="Visible"
AlternationCount="2" ScrollViewer.CanContentScroll="False">
<ListView.View>
<GridView>
<GridViewColumn>
<!-- 1st Column-->
<GridViewColumnHeader Content="Product" Margin="10,0,0,0"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Grid Height="42px">
<TextBlock Text="{Binding odd}" VerticalAlignment="Center"
Width="600" TextAlignment="Left"/>
</Grid>
<TextBlock Foreground="#B30C0C" Height="42px" Padding="10,5,0,0" Text="{Binding discounText}"
Visibility="{Binding IsDiscount, Converter={StaticResource VisibilityConverter}}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn >
你怎么看我在TextBlock中写宽度参数。我如何重写它或者可能在代码中进行一些更改?
答案 0 :(得分:0)
使用相对大小调整(使用$('.filterMenu label').on('click', function () {
var id = $(this).data('id');
$('.galeria > div').hide();
$('.galeria > div[data-categories*="'+id+'"]').show();
});
)而不是固定值。为此,您必须将*
设置从Width
移至列本身:
TextBlock
我已设置<GridViewColumn Width="600*">
<!-- 1st Column-->
<GridViewColumnHeader Content="Product" Margin="10,0,0,0"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Grid Height="42px">
<TextBlock Text="{Binding odd}" VerticalAlignment="Center"
TextAlignment="Left"/>
</Grid>
<TextBlock Foreground="#B30C0C" Height="42px" Padding="10,5,0,0" Text="{Binding discounText}"
Visibility="{Binding IsDiscount, Converter={StaticResource VisibilityConverter}}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
,因为保持当前比例的最快方法是保持您现在拥有的相同值,但添加600*
。但是这个数字可以低很多,因为它只是定义列之间的比例......随意玩这些值以获得你想要的效果。