Одним решением является системная функция, определенная в системном примере stdlib.h
int system(const char *string);
Несмотря на ваш комментарий об обратном, я сомневаюсь в использовании "." в вашем ключе ресурса действительно является источником вашей проблемы. В этой ситуации "." не имеет особого значения и не влияет на доступ к ресурсу. (Я пытался и не смог воспроизвести с ним какие-либо проблемы.)
Однако существует очень большая разница между использованием расширения разметки {StaticResource MyName}
и попыткой найти ресурс программным способом.
Расширение разметки заставляет XamlParser искать указанный ключ в свойстве Resources
элемента FrameworkElement
, которому принадлежит присваиваемое свойство. Если ключ не найден, он ищет его в родительском FrameworkElement
и продолжает работу, пока не достигнет корневого FrameworkElement
. Если он все еще не найден, он просматривает свойство Resources приложения.
С другой стороны, этот код: -
string myCustomValue = this.Resources[MyCustomValue] as string;
sf просто просматривает единственное свойство Resources для пользовательского элемента управления. Попытки найти ключ в предках или в ресурсах приложения не предпринимаются. Это простой поиск в словаре. Я подозреваю, что это действительно сбило вас с толку.
Сказав, что я бы сказал употребление "." в ключ ресурса может быть не очень хорошей идеей. Знак "." действительно имеет значение в различных сценариях XAML, поэтому его использование в именах ключей также может сбить с толку разработчика, читающего код, даже если Silverlight вполне им доволен.
Если он все еще не найден, он просматривает свойство Resources приложения.С другой стороны, этот код: -
string myCustomValue = this.Resources[MyCustomValue] as string;
sf просто просматривает единственное свойство Resources для пользовательского элемента управления. Попытки найти ключ в предках или в ресурсах приложения не предпринимаются. Это простой поиск в словаре. Я подозреваю, что это действительно сбило вас с толку.
Сказав, что я бы сказал употребление "." в ключ ресурса может быть не очень хорошей идеей. Знак "." действительно имеет значение в различных сценариях XAML, поэтому его использование в именах ключей также может сбить с толку разработчика, читающего код, даже если Silverlight вполне им доволен.
Если он все еще не найден, он просматривает свойство Resources приложения.С другой стороны, этот код: -
string myCustomValue = this.Resources[MyCustomValue] as string;
sf просто просматривает единственное свойство Resources для пользовательского элемента управления. Не предпринимается никаких попыток найти ключ в предках или в ресурсах приложения. Это простой поиск в словаре. Я подозреваю, что это действительно сбило вас с толку.
Сказав, что я бы сказал употребление "." в ключ ресурса может быть не очень хорошей идеей. Знак "." действительно имеет значение в различных сценариях XAML, поэтому его использование в именах ключей также может сбить с толку разработчика, читающего код, даже если Silverlight вполне им доволен.
-string myCustomValue = this.Resources[MyCustomValue] as string;
SF просто просматривает единственное свойство Resources для пользовательского элемента управления. Не предпринимается никаких попыток найти ключ в предках или в ресурсах приложения. Это простой поиск в словаре. Я подозреваю, что это действительно сбило вас с толку.
Сказав, что я бы сказал употребление "." в ключ ресурса может быть не очень хорошей идеей. Знак "." действительно имеет значение в различных сценариях XAML, поэтому его использование в именах ключей также может сбить с толку разработчика, читающего код, даже если Silverlight вполне им доволен.
-string myCustomValue = this.Resources[MyCustomValue] as string;
SF просто просматривает единственное свойство Resources для пользовательского элемента управления. Не предпринимается никаких попыток найти ключ в предках или в ресурсах приложения. Это простой поиск в словаре. Я подозреваю, что это действительно сбило вас с толку.
Сказав, что я бы сказал употребление "." в ключ ресурса может быть не очень хорошей идеей. Знак "." действительно имеет значение в различных сценариях XAML, поэтому его использование в именах ключей также может сбить с толку разработчика, читающего код, даже если Silverlight вполне им доволен.