1.通过nuget安装CommunityToolkit 

2.定义viewmodel 注意类需要继承ObservableValidator

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input; 


namespace aaa.VIewModels
{
    public partial class HardwareLaiSaiDebugViewModel : ObservableValidator
    { 
        public HardwareLaiSaiDebugViewModel()
        {
        }

        [ObservableProperty]
        private string initialSpeed;

        [ObservableProperty]
        private string maximumSpeed;

        [ObservableProperty]
        private string accelerationTime;

        [ObservableProperty]
        private string finalPosition;
 

        [RelayCommand]
        public void TransferBeltForward()
        {  
            Console.WriteLine("塑料带前进"); 
        }

        [RelayCommand]
        public void TransferBeltBackward()
        { 
           Console.WriteLine("塑料带后退"); 
        }
    }
}

3.界面绑定,注意绑定内容的的大小写,以及命令绑定需要加后缀Commond

            <StackPanel Grid.Column="1" HorizontalAlignment="Left">
                <TextBlock Foreground="Lime" FontSize="16" >
                   初速度
                </TextBlock>
                <TextBox Foreground="White" FontSize="16" Text="{Binding InitialSpeed}"></TextBox>
         
            </StackPanel>
            <StackPanel Grid.Column="3" HorizontalAlignment="Left">
                <TextBlock Foreground="Lime" FontSize="16">
                   最大速度
                </TextBlock>
                <TextBox Foreground="White" FontSize="16"   Text="{Binding MaximumSpeed}"></TextBox>

            </StackPanel>

            <StackPanel Grid.Column="5" HorizontalAlignment="Left">
                <TextBlock Foreground="Lime" FontSize="16">
                   加速时间
                </TextBlock>
                <TextBox Foreground="White" FontSize="16"  Text="{Binding AccelerationTime}"></TextBox>

            </StackPanel>


            <StackPanel Grid.Column="7" HorizontalAlignment="Left">
                <TextBlock Foreground="Lime" FontSize="16">
                   终点位置
                </TextBlock>
                <TextBox Foreground="White" FontSize="16" Text="{Binding FinalPosition}"></TextBox>

            </StackPanel>         
   <StackPanel Grid.Column="1" VerticalAlignment="Center">
                <Button Command="{Binding TransferBeltForwardCommand}">
                    输料带前进
                </Button>
                <Border BorderThickness="2"></Border>
                <Button Command="{Binding TransferBeltBackwardCommand}">
                    塑料带后退
                </Button>
            </StackPanel>

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐