我有几个长时间运行的boost线程,我希望能够通过中断它们来关闭它们.我能找到的所有文档都说你可以捕获thread_interrupted异常,但它并没有真正说明如果不这样做会发生什么.我认为它会杀死线程(并希望线程得到正确清理).但那个异常会因为线程而消失吗?或者它是否被传递到主线程并杀死它?
我正在尝试绑定窗口标题属性,以便它显示对象的文件名和修改状态.文件名和修改后的状态都是对象的依赖属性.
我知道我可能只是在对象中添加一个"WindowTitle"属性,但这看起来相当hacky.我已经创建了一个非常精简的版本,我正在尝试做的事情.
这是XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="{Binding Converter={StaticResource windowTitleConverter}}" Height="195" Width="245">
<Window.Resources>
<local:WindowTitleConverter x:Key="windowTitleConverter"/>
</Window.Resources>
<Grid Height="150" Width="217">
<TextBox Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" Text="{Binding FileName}" />
<CheckBox Content="Modified" Height="16" HorizontalAlignment="Left" Margin="12,41,0,0" Name="checkBox1" VerticalAlignment="Top" IsChecked="{Binding Modified}" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
和守则:
using System;
using System.Globalization;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new Foo();
}
}
public class Foo : DependencyObject
{ …Run Code Online (Sandbox Code Playgroud) 我已经看过许多关于DataGrid的类似问题,但没有任何直接解决我的情况的问题.
我需要在编辑单元格后手动刷新DataGrid.问题是我无法弄清楚单元格何时完成编辑.DataGrid只有一个CellEditEnding事件(尽管在SilverLight中它们提供了一个CellEditEnded).Refresh()在CellEditEnding中调用我的集合视图时会抛出一个错误,指出在编辑单元格时不允许这样做.
我需要刷新整个网格,因为其他行中的值可能取决于编辑的值.