1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //----------------------------------------------------------------
5 namespace System.Activities.Presentation.View
8 using System.Globalization;
11 class FilterableData : DependencyObject
13 public static readonly DependencyProperty DataProperty =
14 DependencyProperty.Register("Data", typeof(object), typeof(FilterableData), new UIPropertyMetadata(null));
16 public static readonly DependencyProperty IsSelectedProperty =
17 DependencyProperty.Register("IsSelected", typeof(bool), typeof(FilterableData), new UIPropertyMetadata(false));
19 public static readonly DependencyProperty VisibilityProperty =
20 DependencyProperty.Register("Visibility", typeof(Visibility), typeof(FilterableData), new UIPropertyMetadata(Visibility.Visible));
24 get { return (object)GetValue(DataProperty); }
25 set { SetValue(DataProperty, value); }
28 public bool IsSelected
30 get { return (bool)GetValue(IsSelectedProperty); }
31 set { SetValue(IsSelectedProperty, value); }
34 public Visibility Visibility
36 get { return (Visibility)GetValue(VisibilityProperty); }
37 set { SetValue(VisibilityProperty, value); }
46 public override string ToString()
48 return null == this.Data ? "<null>" : this.Data.ToString();
52 class FilterableData<TData> : FilterableData
54 [Fx.Tag.KnownXamlExternal]
55 public TData TypedData
57 get { return (TData)base.Data; }
58 set { base.Data = value; }
61 public override string ToString()
63 return string.Format(CultureInfo.CurrentUICulture, "{0}:({1})", base.ToString(), typeof(TData).Name);