我在SQL Server中运行合并.在我的更新中,我想只在值已更改时更新行.每个更新都有一个版本行递增.以下是一个例子:
MERGE Employee as tgt USING
(SELECT Employee_History.Emp_ID
, Employee_History.First_Name
, Employee_History.Last_Name
FROM Employee_History)
as src (Emp_ID,First_Name,Last_Name)
ON tgt.Emp_ID = src.Emp_ID
WHEN MATCHED THEN
UPDATE SET
Emp_ID = src.Emp_ID,
,[VERSION] = tgt.VERSION + 1
,First_Name = src.First_Name
,Last_Name = src.Last_Name
WHEN NOT MATCHED BY target THEN
INSERT (Emp_ID,0,First_Name,Last_Name)
VALUES
(src.Emp_ID,[VERSION],src.First_Name,src.Last_Name);
Run Code Online (Sandbox Code Playgroud)
现在,如果我只想更新行,从而增加版本,只要名称已更改.
我正在处理新闻Feed.这将经常更新,如果找到新项目,我想从顶部滑入新内容.
现在,我只是通过执行以下操作让它消失:
<ListBox Grid.Row="0" Height="Auto" HorizontalAlignment="Stretch" Margin="5,5,5,5" VerticalAlignment="Top" ItemsSource="{Binding NewsItems,UpdateSourceTrigger=PropertyChanged}" >
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Triggers>
<EventTrigger RoutedEvent="Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
....
</ListBox>
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但我真的希望将项目滑入.我已经尝试了所有可能找到的东西并且无法到达任何地方.任何帮助将非常感激.
在我的.NET 4.0上的WPF应用程序中,我让用户报告两个看似非常间歇性的错误,我无法处理.下面,我发布消息和堆栈跟踪的最顶行.如果需要,我可以发布完整的堆栈跟踪.
Message: {Desktop composition is disabled} The operation could not be completed because desktop composition is disabled. (Exception from HRESULT: 0x80263001)
StackTrace: at Standard.NativeMethods.DwmExtendFrameIntoClientArea(IntPtr hwnd, MARGINS& pMarInset)
Message: Insufficient memory to continue the execution of the program.
StackTrace: at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
Run Code Online (Sandbox Code Playgroud)
谷歌并没有证明是非常有帮助的,所以我希望也许你们之前见过它们.
我一直在从Windows Forms迁移到WPF,并且正在尝试利用Prism来满足应用程序以插件为导向的要求.
我的问题是似乎没有它的支持.我也听说在某些情况下它非常漏水.由于我正在开发企业应用程序,这是不可接受的.
如果是这种情况,并且开始使用Prism是一个坏主意,是否有任何替代方案来制作复合应用程序?我只能想到使用MEF.
使用Prism和WPF,我想允许用户从存储库中选择他们想要使用的模块.每个模块本质上都是一个附加组件,选择要使用的模块只需将其移动到DLL的"模块"文件夹中即可加载.
但是,在尝试在应用程序运行时移动DLL时,会抛出错误,因为此时DLL正在使用中.你如何解决这个问题并允许用户随意添加/删除模块?