数据绑定(MVVM)
的RadStepProgressBar
控件可以在数据绑定场景中使用。
组件的ItemsSource
属性可以分配给任何对象的集合。一个RadStepProgressBarItem
将为ItemsSource中的每个项目自动生成。下面的示例显示如何在此场景中设置控件。
定义模型
公共类StepInfo{公共字符串文本{获取;设置;}公共字符串AdditionalText{获取;设置;}}公共类MainViewModel: ViewModelBase{私有StepInfo selectedStep;私有几何stepShapeGeometry;public Geometry StepShapeGeometry {get{返回StepShapeGeometry;} set {stepShapeGeometry = value;OnPropertyChanged(“StepShapeGeometry”);}} public ObservableCollection Steps {get; set; } public StepInfo SelectedStep { get { return selectedStep; } set { selectedStep = value; OnPropertyChanged("SelectedStep"); } } public MainViewModel() { Steps = new ObservableCollection(); Steps.Add(new StepInfo() { Text = "Your Cart", AdditionalText = "Step 1" }); Steps.Add(new StepInfo() { Text = "Cart", AdditionalText = "Step 2" }); Steps.Add(new StepInfo() { Text = "Payment", AdditionalText = "Step 3" }); var geometry = new RectangleGeometry(new Rect(0, 0, 1, 1)); geometry.Transform = new RotateTransform(45); StepShapeGeometry = geometry; } }
公共类StepInfo公共属性Text As String公共属性AdditionalText As String结束类公共类MainViewModel继承ViewModelBase私有selectedStep As StepInfo私有stepShapeGeometry As Geometry公共属性stepShapeGeometry As Geometry Get Return stepShapeGeometry End Get Set(ByVal value As Geometry) stepShapeGeometry = value OnPropertyChanged(" stepShapeGeometry ") End Set End Property Public Property Steps As ObservableCollection(Of StepInfo)公共属性SelectedStep As StepInfo Get Return SelectedStep End Get Set(ByVal value As StepInfo) SelectedStep = value OnPropertyChanged("SelectedStep") End Set End Property Public Sub New() Steps = New ObservableCollection(Of StepInfo)() Steps。添加(New StepInfo() With {. text = "Your Cart", . additionaltext = "Step 1"}) Steps。添加(New StepInfo() With {. text = "Cart", . additionaltext = "Step 2"}) Steps。一个dd(New StepInfo() With { .Text = "Payment", .AdditionalText = "Step 3" }) Dim geometry = New RectangleGeometry(New Rect(0, 0, 1, 1)) geometry.Transform = New RotateTransform(45) StepShapeGeometry = geometry End Sub End Class
初始化视图模型
public MainWindow() {InitializeComponent();DataContext = new MainViewModel();}
公共子New() InitializeComponent() DataContext = New MainViewModel()结束子
设置XAML
前面的示例展示了如何对控件的ItemsSource和SelectedItem进行数据绑定。这将用数据填充它。如果您需要将所选步骤与单独的视图连接起来,则SelectedItem绑定可以在单独的可视元素中使用。
底部和顶部文本的可视化是通过ItemTemplate
而且ItemAdditionalContentTemplate
属性。ItemTemplate设置的另一个选项是DisplayMemberPath
它可以指向步骤模型中的属性。
的ItemContainerStyle
属性用于自定义为ItemsSource中的每个对象创建的RadStepProgressBarItem元素。