【问题标题】:I need to use a string in multiple .cs files for a ContentDialog box我需要在多个 .cs 文件中为 ContentDialog 使用一个字符串
【发布时间】:2022-08-17 08:29:36
【问题描述】:

我一直有一个问题,我被困住了。我似乎无法弄清楚如何在多个 .cs 文件中使用字符串。我正在用 WinUI 3 C# 编写一个任务列表应用程序,并且我有一个名为 \"ContentDialog\" 的控件。此控件有 2 个单独的文件,ContentDialogContent.xaml 和 ContentDialogContent.xaml.cs。这是由于这种控制是如何进行的。无论如何,我里面有一个 TextBox 来输入任务。我需要从该文本框中提取字符串,在单击“添加”按钮后将其保存,然后在另一个文件 TasksPage.xaml.cs 中使用它。这是我需要做的图像表示:Image link because I can\'t post images yet :)

    标签: c# xaml winui-3


    【解决方案1】:

    我已经修好了。我最终重写了整个 ContentDialog,使其与主页完全分开,然后我在对话框类中设置了一个标签,将其称为“dialog.Tag”。花了一些时间,但我明白了:)

    【讨论】:

      【解决方案2】:

      让我建议你另一种方法来做到这一点。

      任务页面.xaml

      <Grid>
          <Button
              x:Name="AddTaskButton"
              Click="AddTaskButton_Click"
              Content="Add task" />
          <ContentDialog
              x:Name="TaskContentDialog"
              CloseButtonText="Cancel"
              PrimaryButtonText="Add">
              <TextBox x:Name="TaskContentDialogTextBox" PlaceholderText="Enter task" />
          </ContentDialog>
      </Grid>
      

      任务页面.xaml.cs

      public sealed partial class TaskPage : Page
      {
          public TaskPage()
          {
              this.InitializeComponent();
          }
      
          public string? TaskString { get; set; }
      
          private async void AddTaskButton_Click(object sender, RoutedEventArgs e)
          {
              if (await this.TaskContentDialog.ShowAsync() is ContentDialogResult.Primary)
              {
                  TaskString = this.TaskContentDialogTextBox.Text;
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-01
        • 2016-08-18
        • 2017-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-27
        • 1970-01-01
        相关资源
        最近更新 更多