私が持っているのは ( WPFの) DataGrid で、作成したカスタム クラスのリストにバインドしました。
簡単にするために、クラスは次のようになります。
public class MyClass{
int val;
string str;
static const int alwaysSetValue = 10;
}
(データバインディングまたはクラス自体で) 「val = -1 の場合、データグリッドで -1 を表示する代わりに、単に空白または ' ' を表示する」と言う方法はありますか?
Binding の IsTargetNull 値を見ていましたが、int が null 許容型である場合はそれでよいのですが、int を使用したくないですか? もし可能なら。
これを行う方法はありますか?ある種のオーバーライド ToString() か何か?
解決策 は以下の回答を参照してください。私が行った唯一の変更は、コードでバインディングと変換を設定することでした:
DataGrid.Columns.Add(new DataGridTextColumn() { Header = "Value", Binding = new Binding("val") { Converter = new MyValConverter() } });