C# 是否仅在XAML中将“ConverterParameter”分配给当前窗口?

C# 是否仅在XAML中将“ConverterParameter”分配给当前窗口?,c#,wpf,xaml,C#,Wpf,Xaml,我正在努力让一个基本的绑定在不使用代码隐藏的情况下工作 我目前有: <TextBlock Text="{Binding Goodbye, Converter={StaticResource MyConverter}, ConverterParameter={StaticResource SomeObject}}"></TextBlock> 是否可以仅在XAML中实现相同的效果 我尝试过使用…ConverterParameter={RelativeSource Ances

我正在努力让一个基本的绑定在不使用代码隐藏的情况下工作

我目前有:

<TextBlock Text="{Binding Goodbye, Converter={StaticResource MyConverter}, ConverterParameter={StaticResource SomeObject}}"></TextBlock>
是否可以仅在XAML中实现相同的效果

我尝试过使用
…ConverterParameter={RelativeSource AncestorType={x:Type Window}}}…
,不幸的是,它传入了表达式,而不是计算它,我想这是有意义的


如果做不到这一点,我想我将放弃
ConverterParameter
,只使用一个
MultiBinding
,这感觉有点像黑客。

您面临的问题正是我开始使用MVVM模式的原因。几年前我问了一个相关的问题:同意。一般来说,多转换器不是一个“黑客”,而是你如何着手解决这个问题。也就是说,值得记住的是,转换器有效地驻留在视图层中,并且只比代码隐藏稍微好一点。您绑定到的类(即MVVM中的视图模型)的任务是以前端易于使用的形式准备数据。如果您发现自己必须依赖转换器来完成复杂的或特定于应用程序的任务,那么这通常是视图模型没有正常工作的一个好迹象。
this.Resources["SomeObject"] = this;