Xaml 更改数据模板内图像的宽度和高度

Xaml 更改数据模板内图像的宽度和高度,xaml,winrt-xaml,Xaml,Winrt Xaml,我在datatemplate中有一个图像。我想根据特定条件更改其高度和宽度。我怎样才能做到这一点 我拥有的XAML代码: <ListBox x:Name="options_stack" HorizontalAlignment="Left" Margin="198,569,0,33" Width="603" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibilit

我在datatemplate中有一个图像。我想根据特定条件更改其高度和宽度。我怎样才能做到这一点

我拥有的XAML代码:

    <ListBox x:Name="options_stack" HorizontalAlignment="Left" Margin="198,569,0,33" Width="603" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollMode="Auto" Height="123" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}" >
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Image x:Name="options_image" Source ="{Binding}" Stretch="Fill" Width="123" Height="123" MaxHeight="123" MaxWidth="123" Tapped="apply_accessory"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

选项1 由于您正在绑定源属性,我将创建一个数据结构(用作DataContext)来保存
源属性
宽度
高度
属性,然后绑定它们:

<Image x:Name="options_image"
       Source ="{Binding Source}"
       Width="{Binding Width}" Height="{Binding Height}"
       MaxWidth="{Binding Width}" MaxHeight="{Binding Height}"
       Stretch="Fill" Tapped="apply_accessory"/>


XAML为您提供了许多实现所需的方法,您可以选择最好、最干净的方法来解决您面临的问题。

我尝试了绑定高度和宽度。但是当我用一种方法改变它们时,它就不起作用了。。。在我的方法中,我写下:optionDimensions op=newoptionDimensions();操作高度=123;操作宽度=123;我缺少什么?您是否实现了INotifyPropertyChanged?如果您使用的是
optionDimensions
列表,请改用
observedcollection
。是的,它与observedcollection一起工作。谢谢,很高兴它成功了。请看我添加的另一个备选方案。它在将来对你有用。
<Border Background="{Binding Priority, Converter={StaticResource priorityToColorConverter}}"/>