0
因此,我的應用程序工作正常,但我覺得即將開始使用新窗口來混淆應用程序。 我現在正在做的是,即時填充我的ListView與我從使用StreamReader類獲得的列表。 我也在使用一個我將所有數據綁定在一起的類。當我雙擊它時,如何更改我的listview項目值?
當雙擊一個ListViewItem時會發生什麼情況是一個新窗口打開,並且屬性&的值已經填寫完畢,您可以通過這種方式進行更改。 但我想要做的是擺脫打開的新窗口,只需雙擊,即可更改ListView中的值。 我的選擇是什麼以及實現這個目標的正確方法是什麼?
XAML
</ListView.View>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
CS
private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (sender is ListViewItem item && item.IsSelected)
{
var SelectedServerProperties = ((ServerProperties)lvServerProperties.SelectedItem);
Properties.Settings.Default.ServerProperty = SelectedServerProperties.Property;
Properties.Settings.Default.ServerPropertyValue = SelectedServerProperties.Value;
PropertyChangerWindow pcw = new PropertyChangerWindow();
pcw.Show();
}
}
PropertyWindow
public partial class PropertyChangerWindow : Window
{
public PropertyChangerWindow()
{
InitializeComponent();
tbProperty.Text = Properties.Settings.Default.ServerProperty;
tbValue.Text = Properties.Settings.Default.ServerPropertyValue;
}
}
個ServerProperties類
public class ServerProperties
{
public string Property { get; set; }
public string Value { get; set; }
}
令人驚歎!快速的問題,有沒有辦法擺脫出現的虛線箭頭?我需要點擊模板perchaps嗎? https://i.imgur.com/iTIBIA4.gifv –
只需將DataGrid的CanUserSortColumns屬性設置爲false即可。 – mm8
啊,就是這樣!如果它沒有太多要求,你碰巧知道爲什麼當雙擊一個項目時,爲什麼我不能獲得EditItem對於這個視圖是不允許的?或者我應該發佈一個關於該問題的新問題? –