我正在写一个简单的WPFforms,它工作正常。 但现在我应该把目标框架从4改为3.5。 但是当我运行3.5版本,它与excepton失败。 所以OnLoaded是这样的: private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { _notificator = new Notificator(Directory.GetCurrentDirectory()); _notificator.EventStarted += (o, ev) => Dispatcher.Invoke(new Action(() => { new NotificationPage(ev).Show(); _collection.Remove(ev); })); _notificator.EventRemoved += (o, ev) => _collection.Remove(ev); _notificator.EventAdded += (o, ev) => _collection.Insert(_notificator.Events.IndexOf(ev), ev); _collection = new ObservableCollection<MyEvent>(_notificator.Events); EventsGrid.DataContext = _collection; _notificator.Start(); LostEventsGrid.DataContext = _notificator.LostEvents; Hide(); } 我写了整个方法,但是它只在Hide方法上失败, […]
我正在创build一个WPF application使用Microsoft Dot net Frame Work 4.5版本,针对Windows8。我想让我的应用程序可以在以前的Windows操作系统版本上运行,比如Windows XP,Vista和Windows7。 我认为对于Windows 7是没关系的。 但是,Windows XP / Vista的兼容性呢? 我的应用程序可以在这些操作系统下工 如果有任何想法,请分享。
我一直在遵循一个教程来创build一个在C#/ Windows手机上工作的MVVM原型。 这是我的主要。 但是我得到的错误是ExampleMvvmPhone.ViewModel是一个namespace但使用像一个type 。 请在这里帮助我。 谢谢 namespace ExampleMvvmPhone { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); ViewModel viewModel = new ViewModel(); this.DataContext = viewModel; } } } 我的xaml <TextBox x:Name="txtFirstName" Grid.Column="2" Grid.Row="2" Margin="0,0,0,5" FontSize="24" Text="{Binding Current.FirstName, Mode=TwoWay}"/> <TextBox x:Name="txtLastName" Grid.Column="2" Grid.Row="3" Margin="0,0,0,5" FontSize="24" Text="{Binding Current.LastName, Mode=TwoWay}"/> <TextBox x:Name="txtEmail" Grid.Column="2" Grid.Row="4" […]
我有2个布局,一个用于肖像和一个forlandscape。 在这些布局的每一个中,我都有一个带有RadioButton集合的ItemsControl 。 如果我从一个方向切换到另一个方向,有时一个RadioButton被取消选中,因此我的RadioButton集合中没有选中的button。 两个方向都显示相同的数据,只有布局的变化。 注意IsChecked绑定: IsChecked="{Binding IsSelected, Mode=TwoWay}"> 肖像布局 <Grid x:Name="SymbolsGridPortrait" Grid.Row="1"> …… <ScrollViewer ZoomMode="Disabled"> <Grid x:Name="SymbolsContentGridPortrait"> <ItemsControl ItemsSource="{Binding SymbolsItems}"> <ItemsControl.ItemTemplate> <DataTemplate> <RadioButton GroupName="SymbolsRadioGroupName" FontSize="20" Foreground="Black" Margin="10,0,0,0" IsChecked="{Binding IsSelected, Mode=TwoWay}"> <TextBlock Text="{Binding Name}" TextWrapping="Wrap" /> </RadioButton> </DataTemplate> </ItemsControl.ItemTemplate> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Vertical"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> </Grid> </ScrollViewer> 景观布局 <Grid x:Name="SymbolGridLandscape" Background="LightGray" Grid.Row="1"> ….. <ScrollViewer […]
我正在使用Ookii.Dialogs.Wpf.ProgressDialog(请参阅http://www.ookii.org/software/dialogs/用于二进制文件和源代码)来可视化某个进程。 它是一个BackgroundWorker和本地API调用Windows XP +集成ProgressDialog的组合。 我正在使用这样的对话框: this.worker = new ProgressDialog {ShowTimeRemaining = true}; this.model.BackgroundWorker = this.worker; this.worker.DoWork += (s, ev) => this.model.ExportAnalysis(saveFileName); this.worker.ShowDialog(this); 任务完成后,模式对话框应该重新聚焦所有者窗口( ShowDialog(this) , this是一个WPF Window )。 但相反,它将重点放在一个随机打开的窗口。 经过对Ookii.Dialogs代码的一些检查后,我发现本地Windows API调用IOperationsProgressDialog::StartProgressDialog正在被使用。 API调用在Ookii.Dialogs C#源代码中被这样包装: [PreserveSig] void StartProgressDialog( IntPtr hwndParent, [MarshalAs(UnmanagedType.IUnknown)] object punkEnableModless, ProgressDialogFlags dwFlags, IntPtr pvResevered ); 经过一些研究,我在这个网站上遇到两篇文章: http : //msdn.microsoft.com/en-us/library/windows/desktop/bb775262%28v=vs.85%29.aspx 。 吉迪恩提到这个: PROGDLG_MODAL应被视为中断,并避免使用。 […] 这篇文章从2008年开始,也是从2014年开始的新文章,它说这个function已经被打破了。 […]
我在Windows 7 64位.NET 4.5.1下有一个2监视器系统 这里是窗口和步骤来再现一个令人讨厌的情况,我有: 窗口的xaml <Window x:Class="WindowStyleTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowStyle Test" WindowStartupLocation="CenterOwner" WindowStyle="None" Height="350" Width="525" Loaded="MainWindow_OnLoaded"> <Grid> </Grid> </Window> 代码在窗口后面 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { // quick fix to show the taskbar, you can remove this, but it also doesn't […]
我有一个combobox使用下面的代码从访问数据库的数据填充 public void BindComboBox(ComboBox ComboBoxOrg) { con.Open(); orgload = new OleDbCommand("SELECT organization_id, short_name FROM organization", con); OleDbDataAdapter da = new OleDbDataAdapter(); da.SelectCommand = orgload; DataSet ds = new DataSet(); da.Fill(ds); ComboBoxOrg.ItemsSource = ds.Tables[0].DefaultView; ComboBoxOrg.DisplayMemberPath = ds.Tables[0].Columns["short_name"].ToString(); ComboBoxOrg.SelectedValuePath = ds.Tables[0].Columns["organization_id"].ToString(); con.Close(); } XAML UI代码是 <ComboBox x:Name="ComboBoxOrg" Width="308" Height="40" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="18" Margin="0,0,0,100" Foreground="#FF666666" ItemsSource="{Binding}"/> 我想获得select的项目,然后用它来查询一个表(用户),其中的id是存在的例如。 OleDbConnection […]
在MainWindow构造函数中,在显示我的MainWindow之前,我正在做一些可能会提示MessageBox对话框的检查。 发生这种情况时,Windows默认图标将出现在Windows taksbar旁边的消息框标题中。 我已经在属性 – >应用程序 – >资源 – >图标中为我的应用程序设置了一个图标。 我试图调用MessageBox.Show之前调用InitializeComponent() ,但它不会改变任何东西。 一旦我的应用程序完全启动(我退出MainWindow构造函数),适当的图标出现在任务栏。 有没有办法阻止这个丑陋的图标显示出来,或者用我自己的图标replace它?
场景: select一个打开的窗口,用鼠标向左或向右滑动窗口来捕捉。 示例:用户向左滑动记事本,记事本窗口将捕捉到左侧。 使用:WPF,C#,VS2013 问题:1)如何检查每一帧是否用户移动鼠标? 如果成功了,它可以在WPF应用程序不重点的情况下工作吗? 我正计划将其最小化到通知栏。
我有一个WPF应用程序在两台连接在同一个networking上的Windows机器上。 这两个系统是为了冗余目的。 最初machine1上的应用程序保持运行。 当machine1出于任何原因closures时,我想在machine2上启动应用程序。 两台机器上的应用程序如何检查彼此的心跳? 如果另一台机器上的应用程序没有来自另一台机器的心跳,它将如何启动? 1)应用程序从一个Web服务获取信息,并每隔x分钟将其发送到另一个Web服务。 信息stream没有暂停是非常重要的。 很多时候,机器必须更新以进行维护,否则可能会断开连接或意外关机。 在这种情况下,我想要另一台机器准备好运行应用程序。 2)除了这两台机器之外,我没有另一台机器来运行SQL Server。