Tag: wpf

Listpicker错误SelectedItem必须始终设置为有效值

我在Windows Phone 7应用程序中有一个页面,用户可以在其中编辑或删除Transaction对象。 Transaction对象是一个Linq-to-Sql类,它与Account类和Category类有关系。 在页面中,我使用ListPicker让用户选择给定事务的帐户和类别,如下所示: ListPicker_Tap事件是针对Windows Phone的WPF Toolkit的Aug / 2011版本中的错误的修复,简单地说: private void ListPicker_Tap(object sender, System.Windows.Input.GestureEventArgs e) { ListPicker lp = (ListPicker)sender; lp.Open(); } 如果用户编辑事务,一切都很好,但如果用户尝试删除它,我会收到一条错误消息,说“SelectedItem必须始终设置为有效值”。 如果用户单击TransactionPage.xaml.cs中appbar中的delete按钮,则代码如下: private void appBarDelete_Click(object sender, EventArgs e) { MessageBoxResult result = MessageBox.Show(“Are you sure?\n”, “Confirm”, MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { App.ViewModel.DeleteTransaction(transaction); } NavigationService.GoBack(); } 我的ViewModel.DeleteTransaction方法: public void DeleteTransaction(Transaction transaction) { […]

我的应用程序失败时如何通知Windows任务计划程序?

我在任务计划程序中安排了WPF应用程序。 我想在应用程序失败时通知Task Scheduler。 在“任务计划程序”窗口的Run Result ”列的Run Result Task Status部分中,即使应用程序抛出内部exception,我也始终获得“ Success 。 我使用Application.Current.Shutdown(1)尝试通知任务计划程序失败,但是我没有成功。 如何才能做到这一点?

格式化Datagrid中的值

有没有办法格式化绑定到数据网格的值? 例如,我有以下内容: 我希望Date列只是日期(而不是时间),Amount列是货币格式。 以下是我填充数据网格的方法: var transactions = TransactionManager.GetTransactions(); dgTransactionLog.ItemsSource = transactions;

在WPF窗口中挂钩进入Windows消息循环,在内部添加白色边框

我试图创建一个WPF窗口,其中WindowStyle=”None” (对于自定义按钮,没有标题)无法resize。 将ResizeMode设置为NoResize将删除我想要保留的aero边框。 我可以设置最小/最大尺寸属性并完成它,除了: resize的游标仍然可见,并且 显示窗口以响应用户操作并适合其内容。 它显示图像,因此大小会发生变化。 所以,我有一个简单的方案,让我99%的方式: public class BorderedWindowNoResize : Window { [DllImport( “DwmApi.dll” )] public static extern int DwmExtendFrameIntoClientArea( IntPtr hwnd, ref MARGINS pMarInset ); [DllImport( “user32.dll”, CharSet = CharSet.Auto )] public static extern IntPtr DefWindowProc( IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam ); public BorderedWindowNoResize() { Loaded += BorderedWindowNoResize_Loaded; } […]

用于WPF DataGrid的ScrollIntoView(MVVM)

我正在使用MVVM模式,我在XAML中为DataGrid的SelectedItem创建了一个绑定。 我以编程方式设置SelectedItem,但是当我这样做时,DataGrid不会滚动到选择。 有没有办法在不完全打破MVVM模式的情况下实现这一目标? 我找到了以下解决方案但是当我尝试实现Behavior类时出现错误,即使我已经安装了Blend SDK: http : //www.codeproject.com/Tips/125583/ScrollIntoView-for-a havenGrid-当-使用,MVVM

如何以编程方式滚动WPF列表视图?

是否可以以编程方式滚动WPF列表视图? 我知道winforms不会这样做,对吧? 我说的是向上或向下滚动50个单位等。不要一次滚动整个项目高度。

ItemsControl与其项目源 – WPF Listbox不一致

我有一个WPF窗口,其中包含一个ListBox控件,该控件在执行按钮单击方法时填充。 XAML: C#: private void CheckforThirdPartyUpdatesButton_Click(object sender, RoutedEventArgs e) { CheckforThirdPartyUpdatesButton.IsEnabled = false; worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; worker.DoWork += delegate(object s, DoWorkEventArgs args) { MainEntry.checkFor3PUpdates(); }; worker.ProgressChanged += delegate(object s, ProgressChangedEventArgs args) { }; worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { ThirdPartyListBox.DataContext = RegScan_ThirdParty.comparisonListWithState; CheckforThirdPartyUpdatesButton.IsEnabled = true; }; worker.RunWorkerAsync(); […]

WPF中的空闲检测

我是使用WPF的新手,所以我不知道如何检测空闲时间并在空闲5分钟后显示主窗口。 谁能帮我? 非常感谢。

防止双击双击命令

鉴于您有一个触发命令的控件: 如果用户双击命令,有没有办法阻止命令被触发两次? 编辑:在这种情况下重要的是我在WPF中使用命令模型。 看来按下按钮时,执行命令。 除了禁用或隐藏按钮之外,我没有看到任何阻止这种情况的方法。

0xC0020001:字符串绑定无效。 – 仅在WPF中发生

首先,我可能会说我可能已经达到了这个级别的5级…我在WPF应用程序中使用C ++加载项。 每当我尝试退出程序时,都会收到此错误: Raptor.exe中0x770d15de处的未处理exception:0xC0020001:字符串绑定无效。 我一直在使用这个博客条目试图解决问题,但我没有运气。 但有一点我注意到,当我在控制台应用程序中使用相同的C ++插件时,调用WPF应用程序中使用的许多相同方法,控制台退出时没有问题。 我也经历过C ++代码,无法在任何地方找到一个静态变量。 但是有静态方法。 任何帮助将非常感激! 编辑:我启用了许多调试function,以查看它中断的位置。 它打破了以下最后一个括号中的sp_counted_impl.hpp文件(Boost): virtual void dispose() // nothrow { #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) boost::sp_scalar_destructor_hook( px_, sizeof(X), this ); #endif boost::checked_delete( px_ ); }