【发布时间】:2020-02-07 22:34:44
【问题描述】:
再一次,我可能把简单的事情复杂化了......
我正在尝试对设置为 GridView ItemTemplate 的自定义控件应用不同的样式(取决于应用程序窗口宽度)。
我尝试只使用 VisualStateManager 并将样式属性设置为自定义控件,但它不起作用,因为控件是动态生成的。
我尝试的最新方法是更改整个 DataTemplate 而不仅仅是样式...
不幸的是它也不起作用,我得到以下异常:
System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.
在 Windows.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize)
XAML 代码:
<GridView x:Name="DATAGRID" ItemsSource="{Binding Data}" SelectionMode="Single">
<GridView.ItemTemplate>
<DataTemplate>
<cc:MyControl x:Name="AA" Style="{StaticResource MyControlStyle1}">
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
有人知道这是什么意思以及如何解决吗?
谢谢你:)
【问题讨论】:
-
你能发布 xaml 代码吗?
-
@Archana 抱歉回复晚了,但是,当然,ff 当然...这是带有简化 xaml 的 GridView:
-
抱歉,我无法正确格式化“代码”块:(
-
@evilgugl 我意识到我来晚了,但你可以通过
surrounding the code with反引号`(就像`my code here`)在cmets 中插入代码,但更重要的是,你可以编辑您的原始问题并在那里正确格式化代码。在原始问题中插入更多代码来解决 cmets 甚至答案是公平的游戏。
标签: c# win-universal-app visualstatemanager