在我的應用我有給WPF設計模式默認對象
<Rectangle.Margin>
<MultiBinding Converter="{StaticResource XYPosToThicknessConverter}">
<Binding Path="XPos"/>
<Binding Path="YPos"/>
</MultiBinding>
</Rectangle.Margin>
數據上下文是在運行過程中設置。該應用程序可以工作,但VS中的設計窗口不顯示預覽,但System.InvalidCastException。這就是爲什麼我在XYPosToThicknessConverter中添加了一個醜陋的默認對象。
class XYPosToThicknessConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// stupid check to give the design window its default object.
if (!(values[0] is IConvertible))
return new System.Windows.Thickness(3, 3, 0, 0);
// useful code and exception throwing starts here
// ...
}
}
我的問題:
- 什麼VS /是建立在設計窗口傳遞給XYPosToThicknessConverter,什麼方式,通過自己找出來的過程。
- 如何更改我的XAML代碼,以便設計窗口獲取其默認對象,這是處理此問題的最佳方法?
我使用VS2010RC與NET4.0
這讓我很開心。我在一些文本塊上多重綁定了幾個依賴項屬性。他們在設計師看來很空白,這很煩人,但這個小竅門解決了這個問題。它允許我處理定位,文本格式等。 – 2014-04-30 14:49:08