c# - 一键更改文本框中的值
问题描述
通过单击 Ok 按钮,长度和宽度应该会发生变化,这有助于弄清楚如何为 Click_Ok 按钮编写函数。当我选择 View1 时,文本框会自动显示有关此 View1 的信息。如果我想通过在文本框中键入一个新值来更改值,我需要按下按钮来保存它
视图模型
class CameraViewModel : ViewModelBase
{
private ObservableCollection<CameraModel> camera = new ObservableCollection<CameraModel>
{
new CameraModel { View = "View1", Width = 100, Height = 100 }
};
public ObservableCollection<CameraModel> Camera
{
get { return camera; }
set { camera = value; }
}
private CameraModel selectedCamera;
public CameraModel SelectedCamera
{
get { return selectedCamera; }
set
{
selectedCamera = value;
OnPropertyChanged("SelectedCamera");
}
}
public CameraViewModel()
{
ClickOk = new BaseCommand(() => Click_Ok());
}
public ICommand ClickOk { get; set; }
private void Click_Ok()
{
}
}
看法
<TextBox x:Name="txtWidth" Width="150" Height="30" Text="{Binding SelectedCamera.Width, Mode=TwoWay, UpdateSourceTrigger=Explicit}"/>
<TextBox x:Name="txtHeight" Width="150" Height="30" Text="{Binding SelectedCamera.Height, Mode=TwoWay, UpdateSourceTrigger=Explicit}"/>
<Button Grid.Column="0" Content="Ok" Margin="10 10 10 10" Height="30" Width="75" Command="{Binding ClickOk}"/>
模型
class CameraModel
{
public string View { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
解决方案
private int _width;
public int Width
{
get { return _width; }
set
{
_width = value;
OnPropertyChanged("SelectedCamera");
}
}
private int _height;
public int Height
{
get { return _height; }
set
{
_height = value;
OnPropertyChanged("SelectedCamera");
}
}
<TextBox x:Name="txtWidth" Width="150" Height="30" Text="{Binding SelectedCamera.Width, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox x:Name="txtHeight" Width="150" Height="30" Text="{Binding SelectedCamera.Height, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
推荐阅读
- pandas - 如果特定列包含特定值或字符串,Python 会保留行
- python - 使用 Python 从 json 文件中提取数据
- python - 使用 Python 进行 BigQuery 单元测试
- xcode - 无法使用 stopUpdatingLocation 和 stopRelativeAltitudeUpdates 停止更新
- azure - Azure 跨存储库策略会否决存储库本地策略?
- node.js - 在 NodeJS 中获取 mac 地址的问题
- python - 优化 100 万个 For 循环的 Python 代码
- android - 无法在 Android Studio 中创建与配对设备的蓝牙连接
- php - 从多维数组制作面包屑
- tableau-api - 获取在 Tableau 中使用应用程序 A 的用户使用的应用程序的不同计数