說我有像這樣一類...結合動態物體時保持類型 - WPF/C#
public class Field
{
public Field(string fieldname, object fieldValue = null)
{
FieldName = fieldname;
FieldValue = fieldValue;
}
public string FieldName { get; set; }
public object FieldValue { get; set; }
}
而且我再結合以班級爲這樣...
<Label Width="Auto" Content="{Binding FieldlName}"></Label>
<TextBox Width="Auto" Text="{Binding FieldValue, FallbackValue='error', UpdateSourceTrigger=PropertyChanged}"></TextBox>
我遇到問題,如果FieldValue在後面的代碼中設置爲整數,但用戶在文本框中鍵入不同的整數,則類型將更改爲字符串。
然而,我所期望的是價值觀,以保持自己的類型。
我意識到問題是Text
屬性是字符串,它試圖進行轉換。
因此,我正在尋找的是一種補救措施,以維持隱式類型,某種驗證,某種類型的轉換器,吸氣劑上的某些東西......這是我不完全確定的嗎?
不知道爲什麼'FieldValue'必須是動態的,我可能會在其setter中放置一些類型轉換邏輯。 'Field'也可以實現'IDataErrorInfo',所以任何轉換失敗都會設置一個適當的錯誤。 –
爲了澄清,我當時正在玩**對象**類型和**動態**類型之間的差異,當時我最初編寫問題的時候我正在使用** object **來將該值定義爲該值可以是字符串,int,double,datatime,bool等。 重要的是我可以保持它的類型。 – BrokenRobot
它保持它的類型。 TextBox的Text屬性是一個字符串。 – Kevin