Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight 4中以用户友好的方式输入列表?_C#_Silverlight - Fatal编程技术网

C# 在Silverlight 4中以用户友好的方式输入列表?

C# 在Silverlight 4中以用户友好的方式输入列表?,c#,silverlight,C#,Silverlight,我有一个应用程序,用户可以在其中输入姓名列表。存在一些有效名称的集合。我不确定最方便用户的方法是什么 一个想法是:制作一个文本框。如果文本框失去焦点,并且内容是有效名称,请将其添加到列表框中。如果用户在列表框中选择一个条目并点击“删除”,则将其删除 守则: MainPage.xaml.cs: MainPage.xaml: 我是SL的新手,所以我担心我可能会错过一些控制或首选的做事方式。有什么建议吗 谢谢。这是批量输入,操作员将坐在那里输入来自某些来源的名称列表,如纸质列表或其他 如果是这样的话,

我有一个应用程序,用户可以在其中输入姓名列表。存在一些有效名称的集合。我不确定最方便用户的方法是什么

一个想法是:制作一个文本框。如果文本框失去焦点,并且内容是有效名称,请将其添加到列表框中。如果用户在列表框中选择一个条目并点击“删除”,则将其删除

守则:

MainPage.xaml.cs:

MainPage.xaml:

我是SL的新手,所以我担心我可能会错过一些控制或首选的做事方式。有什么建议吗


谢谢。

这是批量输入,操作员将坐在那里输入来自某些来源的名称列表,如纸质列表或其他

如果是这样的话,我想数据输入应该尽可能流畅。这些日复一日地做这类事情的操作员通常是闪电般的快和准确

因此,一个选项是,一旦操作员点击文本框上的Enter键,内容将移动到列表中,文本框将被清除,并准备好进行下一次输入。这样操作员就不会离开键盘。只需键入名称,按回车键,键入下一个名称等

如果操作员输入的姓名错误,操作员可以按tab键导航至列表,该列表将立即选择输入的姓氏。操作员可以按Del键删除条目,也可以按Ins键编辑,edit将从列表中删除名称,将其放回文本框,并将焦点设置为文本框,以便操作员可以编辑名称


开箱即用我不认为有任何特殊的控制,将处理这个键盘导航为您。当然,在SL中,这并不令人难以置信地痛苦。首先,对Enter键执行上述相同的操作。 但是,如果你想让你的用户输入更多的信息,你应该考虑一个更好的设计。p> Silverlight有一个很好的数据绑定机制,说到它,它是关于将listbox的控件ItemSource的依赖属性数据绑定到一个单独类上的clr属性,该类是xaml文件的DataContext。我在这一行中描述的是著名的表示模型模式的一部分,或者微软称之为。MVVM。因此,由于您是Silverlight的新手,了解这些概念将使您的生活更轻松

目前,你可以照克里斯说的做

    private void WhoOwesInput_LostFocus(object sender, RoutedEventArgs e)
    {
        if (people.Contains(WhoOwesInput.Text))
        {
            WhoOwesListBox.Items.Add(WhoOwesInput.Text);
            WhoOwesInput.Text = String.Empty;
        }
    }

    private void WhoOwesListBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Delete || e.Key == Key.Back)
        {
            WhoOwesListBox.Items.Remove(WhoOwesListBox.SelectedItem);
        }
    }
<sdk:AutoCompleteBox Height="23" HorizontalAlignment="Left" Margin="337,205,0,0" Name="WhoOwesInput" VerticalAlignment="Top" Width="74" ValueMemberBinding="{Binding}" LostFocus="WhoOwesInput_LostFocus" />
<ListBox Height="100" HorizontalAlignment="Left" Margin="337,232,0,0" Name="WhoOwesListBox" VerticalAlignment="Top" Width="74" KeyDown="WhoOwesListBox_KeyDown" />