Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于查看的Xamarin表单模板选择器_C#_Xamarin_Xamarin.forms - Fatal编程技术网

C# 用于查看的Xamarin表单模板选择器

C# 用于查看的Xamarin表单模板选择器,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我想使用TemplateSelector来选择视图。不是针对ListViewItems,正如每个示例所示,而是使用“普通”视图。所以我尝试了TemplatedView,ContentPresenter和ContentView。但是他们中没有一个能够使用TemplateSelector 我错过了什么吗?或者我该如何解决这个问题 编辑: 我有一个TemplateSelector,正如所描述的。现在我想将这个选择器添加到某种ViewElement中。这就是我所尝试的: <TemplatedVie

我想使用TemplateSelector来选择视图。不是针对ListViewItems,正如每个示例所示,而是使用“普通”视图。所以我尝试了
TemplatedView
ContentPresenter
ContentView
。但是他们中没有一个能够使用TemplateSelector

我错过了什么吗?或者我该如何解决这个问题

编辑: 我有一个TemplateSelector,正如所描述的。现在我想将这个选择器添加到某种ViewElement中。这就是我所尝试的:

<TemplatedView ControlTemplate="{StaticResource ViewItemTemplateSelector}"/>


但是什么都不起作用,它总是说“无效的资源类型”

编辑2:

<ResourceDictionary MergedWith="dataTemplates:DataTemplates">
        <helper:ViewItemTemplateSelector x:Key="ViewItemTemplateSelector" 
                                         TextDataTemplate="{StaticResource TextDataTemplate}"/>

您是否尝试过遵循Xamarin的指南?

希望这对你有用

编辑: 或许是一种替代解决方案:
有控件模板,但我认为没有选择器。你可以用触发器吗?不确定这是否是您的外观

您是指masterdetailpage还是?不,我只想在视图中显示控件。但是这个控件总是不同的,所以TemplateSelector应该选择一个匹配的Template。您也许可以扩展这个类并以这种方式使用它们?或者您可以使用一个资源字典。我目前正在使用一个资源字典,但是如何定义要从那里加载的xaml呢?无法设置TemplateSelector
=>无效的资源类型是的,这正是我所做的。但我不想将其添加到
列表视图中。我希望它作为页面中视图的一部分。是否没有包装数据模板的控件?我以前在UWP中就意识到了这一点,在那里我使用了带有TemplateSelector的
ContentControl
,或者您希望在页面中使用哪种视图?这取决于具体情况,这就是我需要TemplateSelector的原因。但它始终是一个网格,其中包含一些内容。如果这是一个有效的答案,请不要忘记将其标记为答案;)。我希望这能解决一切,祝你好运!我认为它可以工作,所以我把它标记为解决方案。但我通过一个新的类扩展网格实现了另一种方式,它显示了一个内部带有controltemplate的templatedview。
<ResourceDictionary MergedWith="dataTemplates:DataTemplates">
        <helper:ViewItemTemplateSelector x:Key="ViewItemTemplateSelector" 
                                         TextDataTemplate="{StaticResource TextDataTemplate}"/>