XAML TokenizingTextBox中的“添加”按钮

fivyi3re  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(128)

我想在TokenizingTextBox中添加一个按钮,因此当用户单击它时会出现一个对话框,或者如果不可能,我想更改标准添加按钮'+'的行为,因此一旦用户单击它,就会出现对话框。
有人知道怎么做吗?
下面是我的XAML代码

<!--Add tokenized text box-->
<controls:TokenizingTextBox
    x:Name="TokenBox"   
    ItemsSource="{x:Bind  ViewModel.SelectedTokens  }"
    PlaceholderText="Add Locations"                  
    MaxHeight="104"
    HorizontalAlignment="Stretch"
    TextMemberPath="Text"
    TokenDelimiter=","
    MaximumTokens="3" 
    Grid.Row="1" Grid.Column="0"
    Text="{x:Bind ViewModel.StateMachineScanPath}">
    <controls:TokenizingTextBox.SuggestedItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <SymbolIcon Symbol="Accept"/>
                <TextBlock Text="{x:Bind Mode=TwoWay}" Padding="4,0,0,0"/>
            </StackPanel>
        </DataTemplate>
    </controls:TokenizingTextBox.SuggestedItemTemplate>
    <controls:TokenizingTextBox.QueryIcon >
        <SymbolIconSource Symbol="Add"/>                        
    </controls:TokenizingTextBox.QueryIcon>
</controls:TokenizingTextBox>

字符串
感谢您的帮助提前,最好的问候,马克。

kjthegm6

kjthegm61#

正如你在Generic.xaml中看到的,按钮的名称是“QueryButton”。使用CommunityToolkit.WinUI.UINuGet包中的`FindDescendants()扩展方法,可以完成如下操作:

private void MainPage_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
    if (this.TokenizingTextBoxControl
        .FindDescendants()
        .OfType<Button>()
        .Where(x => x.Name is "QueryButton")
        .FirstOrDefault() is not Button queryButton)
    {
        return;
    }

    queryButton.Click += QueryButton_Click;
}

private void QueryButton_Click(object sender, RoutedEventArgs e)
{
    // Show your ContentDialog.
}

字符串

相关问题