此問題與我昨天詢問的this question有關,無法找到答案。我想知道是否可以在XAML之間進行類型轉換。我發現[這個答案] [2],但我無法得到這個語法的工作。我希望能夠向下轉換爲某種類型以訪問其某些屬性。我寧願只使用XAML方法,但如果需要使用C#,我也可以這樣做。任何幫助表示讚賞。謝謝在XAML中鑄造類型
編輯:
添加一些代碼來澄清我的問題。
我的問題是當我嘗試綁定到一個特定於某個子類單元類型的屬性時,XAML沒有看到它,而我只是回到0。通常情況下,如果這是在C#中完成的,我只需將其轉換並訪問該屬性,但在此時我無法在我的代碼中執行此操作。綁定正在C#中創建,如下所示:
dgtc.Header = Properties.Resources.MaxPressure;
dgtc.MinWidth = 25;
dgtc.Width = Properties.Settings.Default.MaxPressureColumnWidth;
dgtc.IsReadOnly = true;
dgtc.Binding = new Binding("Unit.MaxDepthRelativeToEntry")
{
Converter = new DistanceUnitsConverter()
};
其中dgtc是DataGridTextColumn。 Unit.MaxDepthRelativeToEntry來自0,因爲它是一個AUnit的子類的屬性,所以XAML認爲我試圖訪問一個不存在的屬性。
從第二個鏈接到目前爲止,我已經嘗試了一些如下語法:
dgtc.Binding = new Binding("AUnit.MaxDepthRelativeToEntry")
dgtc.Binding = new Binding("Unit(MyNameSpace:AUnit).MaxDepthRelativeToEntry")
dgtc.Binding = new Binding("Unit(MyNameSpace:AUnit.MaxDepthRelativeToEntry)")
,卻不能得到任何的那些工作。我也嘗試通過轉換器來做到這一點,但問題是,當我構建DataGrid /設置綁定/等時,我沒有可用的單元列表。所以我無法從該實例中獲取該屬性並將其返回。有誰知道我可以用什麼方法,最好是在XAML中,獲得我綁定到的類型的子類型的屬性?
創建[最小,完整,可驗證]的(http://stackoverflow.com/help/mcve)例如你嘗試過什麼,失敗了。 –
我不這麼認爲你可以在xaml中投射,因爲它只是一個標記,在c#中,只要投射有效(可能通過轉換器或代碼隱藏),投射應該沒有問題。 – adminSoftDK