我想更改GridView的DataTemplate使用的UserControl内的图像大小。到目前为止,我无法让这个工作。
我在Macro Minerwa博客中发现这个link只能在DataTemplate中使用自适应triger,你需要使用UserControl,我改变了我的xaml代码,但仍然没有成功。
这是我的GridView:
<Grid Grid.Row="1" >
<Grid Margin="10">
<GridView ItemsSource="{Binding ListOfApps}" HorizontalAlignment="Center" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid x:Uid="WarpGrid" Orientation="Horizontal" MaximumRowsOrColumns="5" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<userControls:AppList/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
</Grid>
这是我的UserControl:
<UserControl
x:Class="RemoteController.Views.UserControls.AppList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:RemoteController.Views.UserControls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
>
<Button x:Name="AppButton" Command="{Binding DataContext.SendPilotCommand, ElementName=AppListPageGrid}" CommandParameter="{Binding Id}" Padding="0" Margin="0" >
<StackPanel Background="AliceBlue">
<Image x:Name="AppImage" Source="{Binding GridImg_url}" Stretch="UniformToFill" />
</StackPanel>
</Button>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="VisualStateGroup">
<VisualState x:Name="Small320">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="320"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="AppButton.MaxHeight" Value="43"/>
<Setter Target="AppButton.MaxWidth" Value="72.5"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Large1024">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1024"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="AppButton.MaxHeight" Value="172"/>
<Setter Target="AppButton.MaxWidth" Value="290"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
就像我之前写的那样,我想根据屏幕尺寸设置图像大小。
答案 0 :(得分:0)
我会创建一个自定义图像控件来检查窗口大小,并根据大小我会为这通常有效的大小添加前缀