【发布时间】:2016-10-29 13:34:26
【问题描述】:
我在 UWP 中为 GridView 生成的项目创建了一个自定义数据模板。这是截图:
这是 XAML 代码:
<DataTemplate x:Key="FileExplorer_FolderItem">
<Grid x:Name="FileExplorer_Item" MaxWidth="0" MaxHeight="0" Margin="0" MinWidth="450" MinHeight="250" RequestedTheme="Dark">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border x:Name="PathBorder" BorderThickness="2" Grid.RowSpan="2">
<Border.BorderBrush>
<SolidColorBrush Color="{StaticResource Jet}"/>
</Border.BorderBrush>
</Border>
<Grid x:Name="Header" Grid.RowSpan="2">
<Image x:Name="ThumbnailImage" Source="{Binding Thumb}" Stretch="UniformToFill"/>
</Grid>
<Grid x:Name="Footer" Grid.Row="1">
<Grid.Background>
<SolidColorBrush Color="#FF343434"/>
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid x:Name="PathGrid">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock x:Name="Name" HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Storage_item.DisplayName}" VerticalAlignment="Top" Margin="10,10,0,0" FontSize="15" LineHeight="20"/>
<TextBlock x:Name="Path" HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Storage_item.Path}" VerticalAlignment="Top" Grid.Row="1" Margin="10,0,0,10" FontSize="13" LineHeight="16"/>
</Grid>
<Image x:Name="Logo" HorizontalAlignment="Center" Height="48" VerticalAlignment="Center" Width="48" Grid.Column="1" Source="Images/Folder48.png" Stretch="UniformToFill">
</Image>
</Grid>
</Grid>
</DataTemplate>
之后,我从 GitHub 安装了“Behaviors.Managed for UWP by Microsoft”,用于在我的模板中创建一些行为。我将“ChangePropertyAction”拖放到模板中的图像控件。但是,在 XAML 设计器中发生了此错误:
“EventTriggerBehavior”不支持直接内容。
XAML 设计器的图片:
图像控件的XAML代码:
<Image x:Name="Logo" HorizontalAlignment="Center" Height="48" VerticalAlignment="Center" Width="48" Grid.Column="1" Source="Images/Folder48.png" Stretch="UniformToFill">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="PointerPressed">
<Core:ChangePropertyAction/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
我无法解决 XAML 设计器出现此错误的原因。我该如何解决?
感谢支持。
【问题讨论】:
-
在这种情况下
ChangePropertyAction在做什么? -
@TóthTibor 由于错误,我无法完全完成该行为。但是如果生成的项目是存储文件和具有行为的“.mp4”文件,我计划在模板中更改带有视频文件图标的文件夹图标。
-
为什么在这种情况下需要行为?根据您的描述,为什么我认为使用没有行为的 Converter 更适合您的情况?
-
嗨@GraceFeng-MSFT,感谢您的建议。到目前为止,我在我的项目中使用了行为,这完全是一个习惯问题。我无法准确预测在这种情况下如何使用 Converter。
-
注意到我回答了你的最后一个问题,这是一个可以接受的答案吗?这个案例是您上一个案例的后续问题吗?如果是这样,那么你的项目应该从后面的代码中添加,文件图标应该在添加项目时生成,而不是在用户按下项目时生成,对吧?
标签: uwp win-universal-app windows-10-universal uwp-xaml