[英]WPF '_' character in Property-Binding does not work
在WPF應用程序的MainWindow上,我有一個簡單的listBox,它已數據綁定到ObservableCollection。 ObservableCollection包含具有一個字符串屬性的簡單“ Product”類的成員。 目標是顯示存儲在ObservableCollection的所有產品的“ PName”屬性中的文本。
MainWindow.xaml:
<Window x:Class="BindingCheck.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BindingCheck"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox Name="listBox1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Label FontSize="26" Content="{Binding Path=PName}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
MainWindow.Xaml.Cs:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows;
namespace BindingCheck
{
public class Product
{
private string pName;
public string PName
{
get { return pName; }
}
public Product(string pname)
{
pName = pname;
}
}
public partial class MainWindow : Window
{
private ObservableCollection<Product> products;
public MainWindow()
{
InitializeComponent();
products = new ObservableCollection<Product>();
products.Add(new Product("Toaster"));
products.Add(new Product("Big_Toaster"));
products.Add(new Product("Very_Big_Toaster"));
this.DataContext = products;
}
}
}
現在我的問題是:為什么listBox輸出中僅顯示第二個'_'字符? Output-Items應該是:“ Toaster”,“ Big_Toaster”和“ Very_Big_Toaster”,但是我得到了另一個輸出:
見下面的代碼:
<StackPanel>
<Label Content="_first_second" Target="{Binding ElementName=txtbox}"/>
<TextBox Name="txtbox" Width="100" Height="50"/>
</StackPanel>
現在,在屏幕Loaded
后,按“ f”鍵,您將看到在TextBox
設置了Focus
。
原因標簽的內容被視為
AccessText
對Label
在這里和根據AccessText
定義第一“”char
指Accesskey
到元件和“”是不可見的。
使用以下鏈接作為參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.