В WPF с RenderTransform
управления может вращаться примерно таким образом:
<Label Width="50" Height="20">
<Label.RenderTransform>
<RotateTransform Angle="90" />
</Label.RenderTransform>
</Label>
В этом случае Label
поворачивается на 90 градусов. Но объекты Window
не могут быть повернуты, потому что теперь гайка Window
по-прежнему отображается GDI.
В вашем случае я могу посоветовать найти/создать/etc управление клавиатурой для WPF, соответствующее вашим требованиям. Например, я нашел такой контроль, link:

Для того, чтобы добавить к вращению контроля, я добавил две кнопки: RotateOn180
и RotateOn360
в VirtualKeyboard.xaml
. Сама клавиатура находится в панели док-станции, так что я написал это:
<DockPanel Width="500" Height="200" RenderTransformOrigin="0.5,0.5">
<DockPanel.RenderTransform>
<RotateTransform x:Name="KeyboardRotation" Angle="0"/>
</DockPanel.RenderTransform>
....
При нажатии на кнопку запускает анимацию, которая изменяет угол поворота. Полный дополнительный код:
<Grid>
<Grid.Triggers>
<EventTrigger SourceName="RotateOn180" RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard Storyboard.TargetName="KeyboardRotation" Storyboard.TargetProperty="Angle">
<DoubleAnimation From="0" To="180" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger SourceName="RotateOn360" RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard Storyboard.TargetName="KeyboardRotation" Storyboard.TargetProperty="Angle">
<DoubleAnimation From="180" To="360" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
<Button Name="RotateOn180" Content="RotateOn180" Width="80" Height="30" HorizontalAlignment="Left" />
<Button Name="RotateOn360" Content="RotateOn360" Width="80" Height="30" HorizontalAlignment="Left" Margin="0,80,0,0" />
<DockPanel Width="500" Height="200" RenderTransformOrigin="0.5,0.5">
<DockPanel.RenderTransform>
<RotateTransform x:Name="KeyboardRotation" Angle="0"/>
</DockPanel.RenderTransform>
...Below is a standard code of project...
Output

Вы не собираетесь, чтобы получить это от osk.exe, это было сделано для настольных компьютеров. Спросите у суперпользователя об утилитах, которые переворачивают весь экран. В противном случае вы должны смотреть на мобильную среду разработки. WinRT, а не WPF. –
Также я использую настольную машину. Когда я смотрю на [это приложение] (http://www.codeproject.com/Articles/498623/Multi-language-on-screen-keyboa), мне все еще кажется, что я могу что-то сделать. Он использует dll окон и использует WPF. Разве я не могу сделать что-то симуляру? Или загрузите .exe в рамку и поверните рамку. BTW, это мое первое приложение на C# :) –
Правильно ли я понимаю, что вы хотите повернуть на 180 ° на клавиатуре? –