Binding ObjectDataProvider to a property instead of a method
-
13-09-2019 - |
Question
Suppose you have following class:
class ProcessController
{
public List<Process> Active { get { ... } }
...
public List<Process> GetProcesses() { ... }
}
I can use the GetMethod
to bind a ObjectDataProvider
to the GetProcesses()
method:
<ObjectDataProvider x:Key="pList"
MethodName="GetProcesses"
ObjectType="{x:Type local:ProcessController}"/>
My question is, can I also bind to the property Active
?
If found out that I can do the following:
<ObjectDataProvider x:Key="pList"
MethodName="get_Active"
ObjectType="{x:Type local:ProcessController}"/>
But somehow this doesn't feel right.
Is there some cleaner way or "right" way to access a property instead of invoking a method?
Solution
You don't need to bind to a property, just bind to the object and use the Path to access the property
<ObjectDataProvider x:Key="pList"
ObjectType="{x:Type local:ProcessController}"/>
OTHER TIPS
The answer given by gcores will not work if the property is static, only if it is an instance member.
Joe Feser
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow