使用文本框C#填充listview

时间:2019-02-18 10:53:51

标签: c# wpf xaml

我想填写一个使用文本框的树状视图,但遇到无法保存的问题

如何显示文本字段,请在树形视图的文本框中输入

附上XAML代码和C#代码,使我能够完成treeviws的工作。

$databases = [
    'foo', 'bar3', 'foobar', 'treyisawesome', 'wp-firesf'
    # etc etc
];

foreach ($databases as $el)
{
   # set up db conn
   $conn = new \PDO(
       'mysql:dbname='. $el .';host=localhost;',
       'user',
       'pass'
    );

    # create the SQL statement
    $sql = 'DROP DATABASE IF EXISTS '. $el .';';

    # rest of the script stays the same
}

image shows the result when I use textbox

Result after closing and opening the application again

1 个答案:

答案 0 :(得分:0)

有很多获取自定义字符串的方法,这仅取决于您要实现什么以及如何在用户界面中很好地工作。

从我看到的屏幕截图中,我认为您可以无缝实现的一种方法是,在单击书签按钮下方时会触发TextBox可见。该框将使键盘焦点对准它的可见性,因此您可以轻松键入所需的书签标题,并在按“返回”键时将触发您已经拥有的事件处理程序,只需替换:

string bookmarkName = "Mon signet sur la  page: " + 
        PdfViewer.GetCurrentPage().ToString();

使用

txtBookmarkName.Text + ": " +
        PdfViewer.GetCurrentPage().ToString();
txtBookmarkName.Text = string.Empty();

下面的一些代码示例:

文本框的XAML:

<TextBox x:Name"txtBookmarkName" Margin="0,0,0,0" KeyDown="TxtBookmarkName_OnKeyDown" Visibility="Hidden"/>

(边距值是占位符,您需要更改这些值以根据用户界面定位和调整框的大小)

文本框的事件处理程序:

private void TxtBookmarkName_OnKeyDown(object sender, KeyEventArgs e)
{
    txtBookmarkName.Visible = false;    

    if (e.Key == Key.Return)
    {
        //Run bookmark_Click Event Handler Code
    }
}

(您可能希望为按下Escape键取消文本框添加一个条件,以及为文本框失去焦点而添加一个事件)

书签按钮的代码,以便可以使TextBox可见并获得焦点:

private void Button_Click(object sender, RoutedEventArgs e)
{
    txtBookmarkName.Visibility = Visibility.Visible;
    txtBookmarkName.Focus();
}