- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 ResourceDictionary 中定义了一个 BitmapImage:
<BitmapImage x:Key="Skin_Image_Back" UriSource="./images/back.png" />
然后像那样加载 ResourceDictionary
var dict = Application.LoadComponent(
new Uri("TestProject.DefaultStyle;component/Style.xaml",
UriKind.Relative)) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Add(dict);
当我通过 xaml 和静态资源标记扩展分配图像时
<Image Source="{StaticResource Skin_Image_Back}" />
一切正常。
但是当我想通过源设置图像时:
MyObject.ImageUrl = FindResource("Skin_Image_Back").ToString();
FindResource 返回一个 URI,这是 ToString 的结果
"pack://application:,,,/TestProject.DefaultStyle;component/images/back.png"
它通过转换器绑定(bind)
<Image Source="{Binding ImageURL, Converter={StaticResource StringToImageThumbSourceConverter}}" />
实现为
<Converter:StringToImageThumbSource x:Key="StringToImageThumbSourceConverter" />
和
public class StringToImageThumbSource : IValueConverter {
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
try {
if(value != null) {
string s = value.ToString();
if(!string.IsNullOrEmpty(s) && File.Exists(s)) {
BitmapImage bi = new BitmapImage();
bi.CreateOptions = BitmapCreateOptions.DelayCreation;
bi.BeginInit();
if(parameter is int) {
bi.DecodePixelWidth = (int)parameter;
bi.DecodePixelHeight = (int)parameter;
}
bi.UriSource = new Uri(value.ToString());
bi.EndInit();
return bi;
}
}
} catch {
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
throw new NotImplementedException();
}
}
那么它就不起作用了...但是为什么?
最佳答案
我他妈是不是傻了...
if(!string.IsNullOrEmpty(s) && File.Exists(s))
File.Exists 无法检查 pack://,,,-URL 的...所以它永远不会被评估...
认为我必须关闭问题...或删除它...不知道该怎么做...
关于c# - StaticResource 标记扩展与 System.Windows.Application.FindResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369830/
(来源:khason.net) var ID = 1234; var FilePath = "C:\\file.dll"; IntPtr hMod = LoadLibraryEx(FilePath,
我编译了一些代码模板,我想了解代码的一部分,尽管我花了一整天的时间尝试,但我无法弄清楚它的作用。 有问题的代码如下: #define IDR_STUB 1 hRsrc = FindResource(N
我有一个自定义类加载器,我希望 getResource 在自定义位置查找资源。 因此,我想做的是重写 findResource,因为我希望它返回一个字节数组作为结果。 findResource函数的返
HRSRC test = FindResourceW(hModule, L"TEST", RT_MANIFEST); FindResource 失败并显示ERROR_RESOURCE_NAME_NOT
我正在编写一段与资源(可执行文件)交互的代码,但我目前遇到了一些问题。 问题 1在资源头文件 (resource1.h) 中,ID_EXEC 被定义为一个数字,但是当我使用函数“MAKEINTRESO
我正在尝试将二进制资源嵌入到我的内核模式静态库中,但我没有看到与 FindResource 和 LoadResource API 等效的内核。你能帮帮我吗? 最佳答案 也许 LdrFindResour
我必须使用 FindResource("key") 方法。在我的 MainWindow 类中,它有效。 我必须在另一个类中使用它,但我不能用 MainWindow 类的新实例引用它,因为这给我带来了一
我有一个包含有效 exe 文件图像的内存缓冲区,我想从中提取一些资源。 为此,我正在使用 FindResource 函数,但该函数需要一个 HMODULE,并在为 exe 提供内存缓冲区时崩溃。 有没
我们正在“外部”连接我们的 View 和 View 模型,这意味着我们在某处有以下类型的代码: var viewModel = new MyViewModel(); var view = Applic
我正在尝试从资源文件中获取 .png 图像。 res.rc TEST_BKG RC_DATA "img\\mainwnd_bkg.png" - main.c HRSRC hRsrc =
我正在尝试使用 Win32 FindResource() 函数将嵌入式资源加载到缓冲区中。我在 Visual Studio 2015 IDE 中添加资源编译时间: 正如您使用 CFFexplorer
我有这个值转换器,可以将数字转换为画笔颜色。我需要做的是将 return Brushes.Red; 行更改为 return (Brush)FindResource("PrimaryHueMidBrus
我想在 C# Windows Phone 编程中使用 FindResource() 来更改控件的样式,但我做不到。 play_btn.Style = FindResource("btnplay") a
我正在尝试从我的资源中加载字体。这是我使用的调用,它当前返回 NULL,因此失败: HRSRC rsrcData = FindResource(NULL, MAKEINTRESOURCE(IDF_RO
我正在 WPF 中编写 CustomControl。我的 Themes/Generic.xaml 中有一些 DataTemplates,处于资源字典级别,并为它们分配了 x:Key。 现在,在同一个控
我知道在 FrameworkElement(例如窗口)上调用 FindResource() 可用于在 FrameworkElement 的 ResourceDictionary 中查找资源。 例如,我
URLClassLoader有两个函数用于获取资源作为 URL。一个名为 getResource 并被继承,一个来自 URLClassLoader 并被命名为 findResource。两者都返回一个
过去 3 天我一直在尝试这个,但我仍然无法让它工作。 WINAPI FindResource 函数抛出错误 1813:这意味着找不到资源类型。我正在使用 eclipse,所以没有 .RC 文件或 re
我正在尝试关注 this tutorial在 MSDN 上从资源加载图像文件。我感觉所提供的一些代码是胡说八道,但我不知道如何让它工作。调用FindResource()一直失败,错误代码为 1813。
我一直都在研究这个,但我只是被困住了。我一直在构建一个项目,我想将一个文本文件作为资源嵌入到可执行文件中。我理解这个“应该”如何工作的所有基础知识,但出于某种原因,事实并非如此。因此,让我从目前的情况
我是一名优秀的程序员,十分优秀!