C# 在运行时将资产包括在项目中
在运行时,我导入一些资产,包括一个html文件,并将其复制到项目中的给定目录。刚发现文件没有显示的原因是项目中没有包含这些文件,即使它们在那里。 问题是,如何在运行时包含一些新添加的资产 编辑C# 在运行时将资产包括在项目中,c#,wpf,file,C#,Wpf,File,在运行时,我导入一些资产,包括一个html文件,并将其复制到项目中的给定目录。刚发现文件没有显示的原因是项目中没有包含这些文件,即使它们在那里。 问题是,如何在运行时包含一些新添加的资产 编辑 我所说的“不出现”是指资产好像不存在,所以程序看不到它们。但是,我看到复制成功了,因为在关闭程序并刷新解决方案资源管理器后,我得到了带有虚线的文件 以下是将在运行时决定的资产的一些XAML: <Image Source="{Binding Converter={StaticResource Some
我所说的“不出现”是指资产好像不存在,所以程序看不到它们。但是,我看到复制成功了,因为在关闭程序并刷新解决方案资源管理器后,我得到了带有虚线的文件 以下是将在运行时决定的资产的一些XAML:
<Image Source="{Binding Converter={StaticResource SomeImageSourceConverter}}"
x:Name="SomeImage"/>
因此,根据DataContext的值,它将加载不同的图像。我认为您所描述的听起来像是我几周前在解决方案中遇到的类似问题 如果您引用了相对于程序执行所在目录的文件路径,请尝试选择所有未显示的文件,并在VS的“属性”面板中将“复制到输出目录”设置为“始终复制”
来源:关于资产在哪里不显示的公认答案?请提供更多详细信息以便帮助!当然可以,马上编辑。
SomeImage.DataContext = "pack://application:,,,/.../SomeImagePlaceAtRuntime.png";
public class SomeImageSourceConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter_, System.Globalization.CultureInfo culture_)
{
return (new ImageSourceConverter()).ConvertFromString(value.ToString());
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}