UWP DataTemplate的RelativeSource数据绑定
如题,在 UWP 的 ListView
里有一个 ItemTemplate
用来盛放影视剧的海报、标题、评分,但是如果影视剧的名称太长的话会把 RelativePanel
撑开,两边留出白边很不好看。
然而因为是在 Template 里,所以各个元素很难命名,所以直接 Binding
或者 x:Bind
基本不可能,已经尝试了 RelativeSource
但是貌似 UWP 和 WPF 里不太一样…
求助各位啦~
<DataTemplate x:DataType="data:ShowListItem">
<RelativePanel Height="225"
Background="#EFEFEF">
<!-- 剧集海报图片 -->
<Image Height="225"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.AlignVerticalCenterWithPanel="True"
Source="{x:Bind Poster}" />
<!-- 需要将这个 Stackpanel 的 Width 绑定到上面的图片的 Width 上 -->
<StackPanel Width="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=Width}"
Padding="0,6"
Background="#50FFFFFF"
RelativePanel.AlignBottomWithPanel="True">
<!-- 剧集评分 -->
<TextBlock Text="{x:Bind RatingInStars}"
TextAlignment="Center"
FontFamily="Segoe UI Emoji"
FontSize="12"/>
<!-- 剧集名称 -->
<TextBlock Text="{x:Bind ShowName}"
Name="EPName"
TextAlignment="Center"/>
</StackPanel>
</RelativePanel>
</DataTemplate>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是这样的,你的图片高度是255固定值,
所以如果想要字符串能够完全显示,那么图片横纵比会失调;
或者图片不完全显示,但横纵比正常,但是字符串会被吞掉一部分
我试了一下图片不完全显示,但是横纵比正常的方式
,别人应该会有更好的办法
希望能有一些帮助