Sign in
|
Join
|
Help
in
Jobi K Joy (blog)
IdentityMine (group)
(Entire Site)
WPF Design and Development
IdentityMine Team Blogs
Home
Blogs
Forums
Photos
Downloads
This Blog
Home
Syndication
RSS
Atom
Comments RSS
Recent Posts
Interactive Silverlight Christmas Card
Concave cornered Rectangle - Expression Blend Tip
WPF Clock
Desklighter - A handy tool for Silverlight
WPF Custom Controls - Marquee control
Tags
"Blend Tips"
AndreaMosaic
Blend
Blendables
Button XAML Template WPF Silverlight
Christmas
Chromelesswindow
Clock
Contest
Custom Control
Custom Panel
Deepzoom
Desklighter
EvalBinding
Expression Blend
Expression Tools
Geometry
Greeting Card
IvalueConveter
Layout
marquee
MultiscaleImage
Panel
Player
Podcast
RadialPanel
SilverLight
Silverlight to Exe
Standalone Silverlight
Time Picker XAML WPF
TimeLinePanel
UserControl
ValueConverter
WPF
WPF CONTEST XAML FINANCE
XAML
XAML DataTemplate ObjectDataProvider
XBAP
Zoombox
Archives
November 2008
(2)
September 2008
(2)
August 2008
(4)
July 2008
(2)
April 2008
(1)
March 2008
(2)
November 2007
(1)
October 2007
(2)
August 2007
(1)
March 2007
(3)
November 2006
(1)
October 2006
(1)
Jobi K Joy
Show all the System.Windows.Media.Colors using DataBinding
Here is a sample to show all the Colors or even Brushes of WPF System.Windows.Media.Colors class.
<
ListBox
ItemsSource
=
"
{Binding Mode=OneWay, Source={StaticResource helper}}
"
ItemTemplate
=
"
{DynamicResource DataTemplate1}
"
/>
Bellow is a function which gives all of its properties as PropertyInfo Collection.(If anybody out here knows a way to eliminate the use of this Helper class, please point that here)
public
class
Helper
{
public
PropertyInfo[] GetPropNames(
Type
type)
{
return
type.GetProperties();
}
}
Now you can write an ObjectDataProvider in XAML to call this function and then a DataTemplate to bind the PropertyName to the approapriate Dependancy Property. See the XAML
<
Window.Resources
>
<
ObjectDataProvider
x:Key
=
"
helper
"
MethodName
=
"
GetPropNames
"
ObjectType
=
"
{x:Type local:Helper}
"
>
<
ObjectDataProvider.MethodParameters
>
<
x:Type
TypeName
=
"
Colors
"
/>
</
ObjectDataProvider.MethodParameters
>
</
ObjectDataProvider
>
<
DataTemplate
x:Key
=
"
DataTemplate1
"
>
<
StackPanel
Orientation
=
"
Horizontal
"
>
<
Rectangle
Width
=
"
40
"
Height
=
"
28
"
Fill
=
"
{Binding Name}
"
Stroke
=
"
#FF000000
"
/>
<
TextBlock
Text
=
"
{Binding Name}
"
Foreground
=
"
{Binding Name}
"
/>
</
StackPanel
>
</
DataTemplate
>
</
Window.Resources
>
Now if you need to show Brushes class members just need to replace Colors from the XAML with Brushes as shown here
<
ObjectDataProvider
x:Key
=
"
helper
"
MethodName
=
"
GetPropNames
"
ObjectType
=
"
{x:Type local:Helper}
"
>
<
ObjectDataProvider.MethodParameters
>
<
x:Type
TypeName
=
"
Brushes
"
/>
</
ObjectDataProvider.MethodParameters
>
</
ObjectDataProvider
>
Published
Nov 02 2007, 01:17 AM
by
jobi
Filed under:
XAML
,
WPF
,
XAML DataTemplate ObjectDataProvider
Comments
No Comments
© 2007 IdentityMine, Inc.