我想從對象數據提供程序中填充組合框控件項。對象數據提供程序在我的自定義類上調用方法以獲取項目列表。Combobox ItemsSource通過objectdataprovider傳入方法參數
但是,我的自定義類上的方法在返回項目列表之前需要一個參數。我不知道該怎麼做。
這裏是我的嘗試:
對象數據提供商聲明:
<ObjectDataProvider x:Key="dataFromEnum" ObjectType="{x:Type ns:MyDataProvider}" MethodName="GetData">
<ObjectDataProvider.MethodParameters>
<sys:String>String.Empty</sys:String>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
組合框聲明:
<ComboBox Name="combobox" ItemsSource="{StaticResource dataFromEnum}" Tag="{Binding Path=Name}" />
因此,大家可以看到組合框的標籤屬性綁定到名稱父級數據上下文的屬性。我想將該Name屬性傳遞給對象數據提供者。我不知道如何將數據傳遞給對象數據提供者,同時向它請求數據。
請指教。
謝謝。
嗯,我不認爲我可以那樣做。此組合框正在網格控件內部呈現。網格控件本身綁定到IEnumerable。所以會有多行,每行都會有一個組合框。取決於類型,每個組合框可能必須呈現一組不同的選項。這就是複雜性。我無法像描述的那樣在我的視圖模型中定義一個屬性,因爲組合框是在網格中每行生成的。我不知道有多少行(所以有多少個組合框)。 – user1647697