2015-11-16 3 views
-1

Я создаю виртуальный инструмент. Элементы управления должны выглядеть красиво, и они должны выглядеть как другие виртуальные инструменты. Вот пример того, что они должны выглядеть следующим образом:Skinnable Controls (WPF/UWP)

http://www.vstskins.com/

В основном, ручки, фейдеры, переключатели, и т.д. и т.п.

Стандарт Telerik, контроль Infragistics и т.д. и т.п. просто не для этого нужно подписать счет. Мне нужно, чтобы элементы управления принимали растровое изображение, которое должно быть уложено сверху - не было разработано с использованием стиля Xaml. Я говорю о реальных скинах, а не о теме.

Есть ли какие-либо элементы управления, которые я могу использовать?

PS: На данный момент я не уверен, буду ли я работать с WPF или UWP, но доступ к хорошим элементам управления будет иметь большое влияние на решение моей платформы.

ответ

0

В конце концов, я поручил кому-то построить элементы управления, в которых я нуждался. Они хорошо работают:

https://bitbucket.org/MelbourneDeveloper/vst-controls-.net

Существует переключатель, ручка, и фейдер, и все скины с растровыми изображениями.

Это не библиотека с открытым исходным кодом, но все могут использовать элементы управления для личных проектов, которые не являются коммерческими по своей природе.

0

Во-первых, что касается WPF и UWP, решение должно основываться на ваших ожиданиях сценария использования вашего приложения: вы хотите опубликовать свое приложение в магазине Windows? Вам нужно работать на разных устройствах? Или вы просто хотите разработать настольное приложение? UWP и WPF имеют богатую библиотеку элементов пользовательского интерфейса. Вы можете выбрать, исходя из своей собственной заботы. UI мудрым вы можете технически сделать то же самое.

Здесь я сосредоточен на решениях в UWP. Мое понимание для вашего требования состоит в том, что вам нужно изменить фон управления на разные изображения в коде. Пожалуйста, поправьте меня, если я неправильно понял. Существуют различные способы установки источника изображения: использование относительного URI, использование файлов из сети или локального хранилища, использование источника потока и т. Д. См. MSDN online help. Ниже представлен очень простой пример:

In XAML: 

<StackPanel> 
    <Ellipse Height="200" Width="300"> 
     <Ellipse.Fill> 
      <ImageBrush x:Name="test" ImageSource="Assets/image1.jpg" /> 
     </Ellipse.Fill> 
    </Ellipse> 
    <Button Click="Button_Click">Change Background</Button> 
</StackPanel> 

In C#: 
private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    Uri uri = new Uri("ms-appx:///Assets/hero.jpg"); 
    test.ImageSource = new BitmapImage(uri); 
}