2011-09-06 30 views
0

考虑下面的访问XAML一个转换器:控制的如何当隐藏代码中包含的IValueConverter实现

public partial class MyCustomControl : UserControl, IValueConverter 

我怎么会去设置XAML来访问已经(个体经营)创建的实例做转换?

<TextBlock Text="{Binding Converter={ ??? }}" /> 

的原因,我这样做是因为我有一个DP上,告诉我,我需要什么对象的属性,以反映通过,以显示它在TextBlock的文本值的控制。所以......如果我在代码隐藏中实现IValueConverter,并告诉它使用它作为转换器,只要它使用相同的实例,我应该能够获得我需要的一切。

谢谢!

+4

我肯定会建议将您的逻辑更改为它自己的类型,因为它是一个分离的问题。您的用户控件不应该也是TypeConverter;这是一个不同的逻辑*的事情*。当然,使用TypeConverter也变得非常容易。 – Tejs

+0

您是否尝试使用(self)关键字? – Tigran

+0

问题在于让财产在此时反映出来。如果我有一个单独的转换器,我会看到的唯一东西是绑定到该项目的对象。考虑到这是一个用户控件,我需要反映的属性是未知的,直到控件的用户设置它,我需要一种方法来获取该对象以及属性以反映出来。 – Mike

回答

1

坏主意,创建一个单独的转换器。如果您需要更多信息,只需添加属性(例如整个UserControl)