Мне также не удалось найти SSH-библиотеку, которая может быть напрямую использована в приложении UWP. Есть несколько возможных путей, надеюсь, что это поможет.
Метод №1: Поместить SSH.NET в UWP
Вызовы - .NET для UWP не обеспечил сетевой интерфейс уровня Socket Level , Невозможно, чтобы чистая библиотека .NET реализовала соединение SSH. Он должен использовать Microsoft API в библиотеке Runtime Windows.
Mthod # 2: Оберните существующую библиотеку SSH C / C ++, такую как libssh, в компонент Runtime Windows
Задачи - C / Библиотека C ++ не может использовать API, который не разрешен в платформе UWP, иначе вы не сможете отправить приложение в App Store.
AFAIK Вы не можете наследовать xaml, можно только наследовать код позади.
Мы недавно встретились с той же проблемой на нашем проекте. Путем мы закончили тем, что решили нашу проблему, должен был создать usercontrol и добавление его к "дочернему" usercontrol.
, Если это не работает/помогает, смотрят на это: http://geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx 1
Хорошо.. Вы создаете свое основное управление
public abstract class BaseUserControl : UserControl{...}
тогда в файле XAML:
<Controls:BaseUserControl x:Class="Termo.Win.Controls.ChildControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:Namespace.Of.Your.BaseControl">
И это должно работать.
РЕДАКТИРОВАНИЕ: Хм.. этот пример полезен, когда Вы имеете основной контроль без XAML и затем наследовались ему. Наоборот (от основного управления с Xaml) - я не уверен, как можно пойти об этом.
EDIT2: , По-видимому, от это сообщение + комментарии я беру это, что Вы хотите, не могло бы быть возможным.
У меня может быть какое-то решение: композиция вместо наследования - я придумал элемент управления, который имеет «слоты содержимого», назначаемые извне через привязку данных, посмотрите на мой SO thread .
Пример использования:
<UserControl ... >
<!-- My wrapping XAML -->
<Common:DialogControl>
<Common:DialogControl.Heading>
<!-- Slot for a string -->
</Common:DialogControl.Heading>
<Common:DialogControl.Control>
<!-- Concrete dialog's content goes here -->
</Common:DialogControl.Control>
<Common:DialogControl.Buttons>
<!-- Concrete dialog's buttons go here -->
</Common:DialogControl.Buttons>
</Common:DialogControl>
<!-- /My wrapping XAML -->
</UserControl>
Вместе с некоторым кодом обработки в коде программной части это был бы хороший базовый компонент для диалоговых окон.