我有一个ObservableCollection,其中MyData是一个具有4个属性的类,即int id,string name,bool IsSelected,string IsVisible.
此ObservableCollection绑定到带有复选框的组合框(例如,城市数据).现在,当用户选中复选框时,下次打开下拉菜单时 - 所有选择都应按名称按升序排在最前面.
当用户在组合框中键入3个字符时,我还实现了自动完成,下拉菜单将打开,首先显示所有选项,然后由3个字符开始的所有项目由用户键入.
我已经研究并实现了以下代码并且它工作正常,但我想知道这是否是最好的方法还是我能以更好的方式实现它,代码是:
IEnumerable<MyData> sort;
ObservableCollection<MyData> tempSortedCities = new ObservableCollection<MyData>();
sort = City.OrderByDescending(item => item.IsSelected).ThenBy(item => item.Name.ToUpper()) ;
// City is my observablecollection<MyData> property in my Model binded to combobox in UI
foreach (var item in sort)
tempSortedCities.Add(item);
City.Clear(); // City is my observablecollection<MyData> property in my Model
City = tempSortedCities;
tempSortedCities = null;
sort = null;
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的时间 !
我有一个WPF .NET 4应用程序,我重写该OnStartup
方法,以处理传递给我的应用程序的文件.但是,似乎在应用程序运行时不会调用此方法.我在那里放了一个例外,甚至是一个断点,它启动并完全忽略了这一点.
我错过了什么吗?
App.xml.cs的代码:
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
App.xaml的内容:
<Application x:Class="XGN_Image_Downloader.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)
编辑:找到它!App.xaml中的x:Class属性与App.xaml.cs类不匹配:)这就是你在喝葡萄酒时编码的结果.(感谢这个帖子:WPF app启动问题)
我需要从服务器向客户端发送实时更新.我知道WCF通常可以做到这一点.然而,silverlight是一个挑剔的客户..
有谁知道如何配置WCF以将实时更新发送到Silverlight客户端?
来自配置和演练的Snipets将不胜感激.
我有2个项目.第一个只生成一个DLL.
第二个需要第一个DLL.但是当我从DLL调用一个方法时,我有一个FileNotFoundException,带有以下消息:
BDD,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null
我确定该文件存在.哪里我错了?
我在App.xaml("RoundButton")中创建了一个按钮控件样式.我想在C#代码中创建一个按钮,并将按钮的样式设置为在App.xaml文件中创建的按钮的样式.是否有可能做到这一点?