Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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# Resharper对XAML不满意_C#_Wpf_Xaml_Binding_Resharper - Fatal编程技术网

C# Resharper对XAML不满意

C# Resharper对XAML不满意,c#,wpf,xaml,binding,resharper,C#,Wpf,Xaml,Binding,Resharper,这段XAML(在列表视图的定义中) 现在,XAML确实起作用了,当我右键单击一个项目并执行ContextMenuItem时,它确实用插曲的内容填充参数 为什么Resharper对此不满意?这是一个很容易解释的问题PlacementTarget的类型没有标记成员。ReSharper尝试查找具有标记名的成员,但失败 在编译时,ReSharper是正确的。ReSharper不知道运行时的确切类型 可能需要将绑定表达式重写为: <ContextMenu DataContext="{Binding

这段XAML(在
列表视图的定义中)

现在,XAML确实起作用了,当我右键单击一个项目并执行
ContextMenuItem
时,它确实用
插曲的内容填充参数


为什么Resharper对此不满意?

这是一个很容易解释的问题
PlacementTarget
的类型没有
标记
成员。ReSharper尝试查找具有标记名的成员,但失败

在编译时,ReSharper是正确的。ReSharper不知道运行时的确切类型

可能需要将绑定表达式重写为:

<ContextMenu DataContext="{Binding Tag, RelativeSource={RelativeSource Self}}" />


很难说得很准确,因为不清楚你想用这个绑定表达式实现什么。

很高兴我们能把它排除在外。@McGarnagle这是我今天两次看到这个评论。ReSharper有什么不好的口味?我从2.0开始使用它,我很喜欢它。@TyCobb公平。我自己从来没用过。有些人喜欢它,有些人认为它很烦人。不管怎样,在这种情况下,它的诊断似乎是错误的。@McGarnagle:只有一个bug,而整个事情都是废话?这不是形成观点的有效方式,更不是有效的批评。无论如何,据说最新版本的ReSharper极大地改善了XAML支持。不知道OP使用的是哪个版本,我们无法知道问题是否已经得到解决。@McGarnagle:我认为你不能说你的评论是斯纳克以外的任何东西(并不是说我自己也没有罪)。嗨,弗拉基米尔。我试了一下,但后来发现我遇到的问题有点棘手。我更新了问题以更好地反映问题。很抱歉给您带来不便,请您再看一眼,帮我出去一下好吗+1感谢迄今为止的努力!和以前一样,R#在编译时是正确的。UIElement实际上没有SelectedItem属性。R#是一个静态分析工具,但绑定是一个运行时过程。您可以通过在模板中定义数据类型、填充d:DataContext或使用附加属性的概念来解决一些R#警告。R#的最新版本(8.0和8.1)对XAML有很多改进。啊,这就是答案。谢谢!我只是不完全确定我是否可以安全地忽略这个警告。ThxAny time:)如果您使用过Java泛型,那么您将更容易处理警告:)
Can not resolve property 'SelectedItem' in data context of type 'System.Windows.UIElement'        
<ContextMenu DataContext="{Binding Tag, RelativeSource={RelativeSource Self}}" />