Visual Studio 2008允许我声明一个命令并将其附加到项目的post-build事件.像很多开发人员一样,我经常使用xcopy文件到应用程序输出目录.
我正在开展一个项目,我需要将文件从两个不同的地方xcopy文件复制到两个不同的目的地,所有这些都在一个项目中.换句话说,我需要从同一个构建后事件中调用两个不同的xcopy命令.看起来后期构建事件只需要一个命令,如果我需要调用多个命令,我将不得不将命令放在*.bat文件中并从构建后事件中调用它.
这是正确的,还是有更简单的方法从后构建事件中调用两个命令?在此先感谢您的帮助.
我正准备为带有单个参数的事件args创建一个通用的EventArgs类:
public class EventArg<T> : EventArgs
{
// Property variable
private readonly T p_EventData;
// Constructor
public EventArg(T data)
{
p_EventData = data;
}
// Property for EventArgs argument
public T Data
{
get { return p_EventData; }
}
}
Run Code Online (Sandbox Code Playgroud)
在我这样做之前,C#是否具有内置于该语言的相同功能?我似乎记得在C#2.0发布时遇到类似的东西,但现在我找不到它.
换句话说,我是否必须创建自己的通用EventArgs类,或者C#是否提供了一个?谢谢你的帮助.
我在后期构建事件中使用XCOPY将已编译的DLL从其输出文件夹复制到主应用程序的输出文件夹.DLL被复制到主app输出文件夹中的"Modules"子文件夹,如下所示:
xcopy "$(TargetPath)" "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\"
Run Code Online (Sandbox Code Playgroud)
如果Modules文件夹存在,该命令可以正常工作,但我在测试期间发现如果文件夹不存在,XCOPY不会创建它,并且命令失败.
是否有一个XCOPY开关,如果该文件夹不存在,将导致该文件夹被创建?如果没有,如果它不存在,我将添加到我的post-build事件中以创建该文件夹?谢谢你的帮助.
编辑:问题已在.NET 4.0中修复.
我一直在尝试使用IsChecked按钮将一组单选按钮绑定到视图模型.在审查其他帖子后,该IsChecked属性似乎根本不起作用.我已经整理了一个简短的演示,可以重现这个问题,我在下面列出了这个问题.
这是我的问题:使用MVVM绑定单选按钮是否有直接可靠的方法?谢谢.
附加信息:该IsChecked物业不起作用有两个原因:
选择按钮后,组中其他按钮的IsChecked属性不会设置为false.
选择按钮后,第一次选择按钮后,其自身的IsChecked属性不会被设置.我猜测绑定在第一次点击时被WPF破坏了.
演示项目:以下是重现问题的简单演示的代码和标记.创建一个WPF项目并使用以下内容替换Window1.xaml中的标记:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
<StackPanel>
<RadioButton Content="Button A" IsChecked="{Binding Path=ButtonAIsChecked, Mode=TwoWay}" />
<RadioButton Content="Button B" IsChecked="{Binding Path=ButtonBIsChecked, Mode=TwoWay}" />
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
使用以下代码(hack)替换Window1.xaml.cs中的代码,该代码设置视图模型:
using System.Windows;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = …Run Code Online (Sandbox Code Playgroud) 我有一个简单的Button控件,其中包含一个Image对象作为其内容.我想Image在Button禁用时将不透明度设置为0.5 ,以便为Button状态提供额外的视觉提示.
在XAML中实现该结果的最简单方法是什么?谢谢你的帮助.
如何将视图模型属性绑定到ListBox.SelectedItem属性?
我已经创建了一个简单的MVVM演示来尝试解决这个问题.我的视图模型具有以下属性:
private ObservableCollection<DisneyCharacter> p_DisneyCharacters;
public ObservableCollection<DisneyCharacter> DisneyCharacters
{
get { return p_DisneyCharacters; }
set
{
p_DisneyCharacters = value;
base.FirePropertyChangedEvent("DisneyCharacters");
}
}
private DisneyCharacter p_SelectedItem;
public DisneyCharacter SelectedItem
{
get { return p_SelectedItem; }
set
{
p_SelectedItem = value;
base.FirePropertyChangedEvent("SelectedItem");
}
}
Run Code Online (Sandbox Code Playgroud)
我想将SelectedItem属性绑定到列表框中选定的项目.这是列表框的XAML:
<ListBox ItemTemplate="{StaticResource MasterTemplate}"
ItemsSource="{Binding Path=DisneyCharacters}"
SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}"
HorizontalAlignment="Stretch" />
Run Code Online (Sandbox Code Playgroud)
这是我的问题:当我更改列表框中的选择时,视图模型SelectedItem属性未更新.
我做了一个测试,我暂时用SelectedIndex属性替换了视图模型SelectedItem属性,并将其绑定到ListBox.SelectedIndex属性.该属性更新很好 - 它只是我无法工作的SelectedItem属性.
那么,我该如何修复SelectedItem绑定?谢谢你的帮助.
我收到以下错误,我不明白.有什么建议?
错误1命令 "XCOPY "d:\用户\ johndoe的\文档\ Visual Studio 2008的\项目\ MyProject的\ MyProject.Modules.Ribbon\BIN \调试\ MyProject.Modules.Ribbon.dll"" d:\用户\ johndoe的\ Documents\Visual Studio 2008\Projects\MyProject\MyProject\bin\Debug\Modules \"/ Y"退出代码9009. MyProject.Modules.Ribbon
我有一个原来是PNG的图像,我将其转换为byte []并保存在数据库中.最初,我只是将PNG读入内存流并将流转换为byte [].现在我想要读取byte []并将其转换为BitmapImage,以便我可以将WPF Image控件绑定到它.
我在网上看到很多矛盾和混乱的代码来完成将byte []转换为BitmapImage的任务.我不确定是否需要添加任何代码,因为图像最初是PNG.
任何人都可以提供代码将流转换为BitmapImage?谢谢你的帮助.
WPF ListBox没有DoubleClick事件,至少没有我能说的那么多.是否有针对此问题的解决方法,让我双击项目以让事件处理程序对其执行某些操作?谢谢你的帮助.
我正在使用Model First方法开发一个带有Entity Framework 4和SQL Compact 4的应用程序.我已经创建了我的EDM,现在我想生成一个SQL Compact 4.0数据库作为模型的数据存储.我打开Generate Database Wizard并单击New Connection按钮为生成的文件创建连接.将出现" 选择数据源"对话框,但SQL Compact 4.0未列在可用数据源列表中:

我正在运行VS 2010 SP1(测试版),我已经安装了VS Compact Tools for SQL Compact 4.0.我可以从Server Explorer创建SQL Compact 4.0数据连接.只有在生成数据库向导中才会出现4.0选项.顺便说一句,我的SQL Compact 4.0安装包括System.Data.SqlServerCe.Entity.dll.所以我应该有我需要的SQL Compact组件.
我做错了什么,或者这是一个错误?有没有人有修复或解决方法?谢谢你的帮助.
wpf ×5
c# ×4
mvvm ×2
wpf-controls ×2
xcopy ×2
binding ×1
data-binding ×1
eventargs ×1
generics ×1
radio-button ×1