我希望将MyEnum的具体值作为参数从MyItemSourceProvider传递给GetValues方法。请告诉我怎么写?
<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type local:MyItemSourceProvider}">
<ObjectDataProvider.MethodParameters>
<!-- ENUM value (e.g. MyEnum.Record1) -->
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>方法:
public System.Collections.IEnumerable GetValues(MyEnum key) {}
public enum MyEnum {Record1, ...}发布于 2011-10-10 23:37:52
您可以按如下方式实现:
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type local:MyItemSourceProvider}"
x:Key="getValues">
<ObjectDataProvider.MethodParameters>
<local:MyEnum>Record1</local:MyEnum>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>或者你也可以这样做:
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type local:MyItemSourceProvider}"
x:Key="getValues">
<ObjectDataProvider.MethodParameters>
<x:Static Member="local:MyEnum.Record1" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>通过以下方式:
public enum MyEnum {Record1, Record2, ...}发布于 2010-09-20 20:58:44
试试这个:
<Window.Resources>
<local:MyEnum x:Key="valueToPassIn">Record1</local:MyEnum>
<x:Type x:Key="typeToPassIn" TypeName="local:MyEnum" />
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="ExampleEnumValues"
MethodParameters="{StaticResource valueToPassIn}">
</ObjectDataProvider>
</Window.Resources>发布于 2013-01-11 04:56:37
你可能已经找到答案了。如果没有,你可以看这里-
http://msdn.microsoft.com/en-us/library/bb613576.aspx
或
<Window x:Class="SimpleXmlDataSourceExample.MainWindow2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:SimpleXmlDataSourceExample"
Title="MainWindow2" Height="300" Width="403">
<Window.Resources>
<ObjectDataProvider x:Key="deptEnumSource" ObjectType="{x:Type Sys:Enum}" MethodName="GetValues" >
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:DeptEnum"></x:Type>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="69,68,0,0" Name="comboBox1"
VerticalAlignment="Top"
Width="156"
ItemsSource="{Binding Source={StaticResource deptEnumSource}}"
>
</ComboBox>
</Grid>
在此链接中也是如此:
http://wpfgrid.blogspot.com/2013/01/v-behaviorurldefaultvmlo_10.html
https://stackoverflow.com/questions/3751461
复制相似问题