2
有人可以給我一些提示,我可能做錯了什麼?WPF字符串到雙倍轉換器
所以我在XAML
<TextBlock>
<TextBlock.Text>
<Binding Source="signal_graph" Path="GraphPenWidth" Mode="TwoWay" Converter="{StaticResource string_to_double_converter}" />
</TextBlock.Text>
</TextBlock>
一個正文塊,其附接至signal_graph的GraphPenWidth屬性(double類型的)。該轉換器被聲明爲在應用程序的資源的資源,看起來像這樣:
public class StringToDoubleValueConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
double num;
string strvalue = value as string;
if (double.TryParse(strvalue, out num))
{
return num;
}
return DependencyProperty.UnsetValue;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
return value.ToString();
}
}
我想過會發生的是,在啓動時默認的構造選擇的屬性值將被傳播到文本塊,並且將來文本塊更改會在文本塊保持焦點時更新圖形。但是,初始加載並不會更新文本塊的文本,而對文本塊的文本所做的更改對圖形的筆寬度值沒有影響。
隨時要求進一步澄清。
你有錯誤的方式:你需要一個DoubleToStringConverter,而不是一個StringtoDoubleConverter。 – Shlomo