【发布时间】:2021-01-23 04:43:45
【问题描述】:
我正在构建一个 C# UWP 应用程序,其中单击视图中的按钮会在 viewmodel(不是代码)中引发命令(使用 System.Windows.Input.IComand)后面),它构建了一种输入字段形式,如 Name:____ phone:____ 等,并将其显示在 UI/视图上。
- 我不想将
<ContentDialog></ContentDialog>保留在 查看。
到目前为止我所做的是
我认为的按钮:
<CommandBar>
<AppBarButton x:Name="buttonNew" Command="{Binding AddClick}" />
</CommandBar>
- 后面代码中的ViewModel对象被设置为DataContext 查看
在视图模型中:
public ICommand AddClick=> new RelayCommand(Add);
private async void Add()
{
TextBox input = new TextBox()
{
PlaceholderText = "Name",
};
var contentDialog = new ContentDialog
{
Title = "Add a Person",
Content = input,
FullSizeDesired = true,
PrimaryButtonText = "Add",
CloseButtonText = "Cancel"
};
await contentDialog.ShowAsync();
}
如您所见,我能够显示/触发带有一个输入字段和 2 个按钮的内容对话框。
我的问题是:
- 如何添加更多的输入字段,就像我们在视图模型的代码中添加一个
<StackPanel></StackPanel>并分配它 到内容对话框的内容? - 如何相应地调整它的大小以使所有字段都正确显示并且不会随意显示,因为我没有在 Xaml 中对此进行编码?
【问题讨论】:
标签: c# mvvm uwp dialog uwp-xaml