Prism を用いてWPFアプリを作成しています。
TextBoxをList<string>のデータバインディングをしているのですが、プロパティが変わっても画面に反映されません。
そこで原因分かる方にご教示いただきたいです。
コードは以下の通りです。
コード内でLogsプロパティの文字列を追加しても画面に反映されません...
TextBox.xaml
<TextBox Text="{Binding Path=Logs,Converter={StaticResource ListToStringConverter},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
Bindingされているクラス
private List<string> _Logs; public List<string> Logs { get => _Logs; set => SetProperty(ref _Logs, value); }
ListToStringConverter
[ValueConversion(typeof(List<string>), typeof(string))] public class ListToStringConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var src = value as IEnumerable<string>; if (src == null) return null; return string.Join(Environment.NewLine, src); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var src = value as string; if (string.IsNullOrEmpty(src) == true) return new List<string>(); return src.Split(new string[] { Environment.NewLine }, StringSplitOptions.None).ToList(); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/01 13:45