2016/11/23

同梱スキン - タイプライター風.xaml


テンプレートサンプル用 実用性はあまりありません
画像を1枚使っていますがスペースキーの質感用です 大した意味はありません
丸いキーはxamlだけで出来ています 見た目に関しては想像できるものは大体実現可能です
どのスキンもキーの定義部分が同じようになって冗長なんですが スタイルを使って出来る限り短くしています



  1. <!-- This file is zeKey skinfile https://ze-key.blogspot.jp/ -->
  2. <z:Keyboard xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:z="clr-namespace:zeKey.Skin;assembly=zeKey"
  5. Width="660"
  6. Height="270"
  7. z:DragMoveBehavior.CanMove="True">
  8. <z:Keyboard.SkinInfo>
  9. <z:SkinInfo Title="タイプライター風"
  10. Author="T.Naga"
  11. License="改変自由"
  12. Version="1.0.0">
  13. <z:SkinInfo.Information>
  14. <TextBlock TextWrapping="Wrap">
  15. 雰囲気重視で実用性は二の次仕様<Run Text="&#10;" />
  16. <LineBreak />
  17. 使い方:<Run Text="&#10;" />
  18. 一部キーは通常時隠れています [Fn]キー押し込みで出現<Run Text="&#10;" />
  19. クリックで通常のキー打鍵 右クリックで[Shift]+キー打鍵<Run Text="&#10;" />
  20. [Shift][Ctrl][Alt][Win]キーは押し込みでロックされ その他のキーが押されると同時押ししロック解除
  21. (正確には押し込んだ時にDown送信 その他のキーのDownUpの後にUp送信)<Run Text="&#10;" />
  22. 右クリックすると押し込み状態がもう一度押すまで継続<Run Text="&#10;" />
  23. <LineBreak />
  24. 注意:<Run Text="&#10;" />
  25. ・全キーリピート無し設定になっています<Run Text="&#10;" />
  26. ・修飾キーが押されたままzeKeyが異常終了すると そのキーが押しっぱなしとみなされます
  27. その場合は(リアル)キーボードで該当キーを一度押してください<Run Text="&#10;" />
  28. <LineBreak />
  29. 詳しい説明は
  30. <z:Hyperlink NavigateUri="https://ze-key.blogspot.jp/">ブログ</z:Hyperlink>
  31. を参照してください
  32. </TextBlock>
  33. </z:SkinInfo.Information>
  34. </z:SkinInfo>
  35. </z:Keyboard.SkinInfo>
  36.  
  37. <z:Keyboard.Resources>
  38. <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
  39. <z:BooleanToCollapsedConverter x:Key="BooleanToCollapsedConverter" />
  40.  
  41. <SolidColorBrush x:Key="キーボード 背景" Color="DimGray" />
  42. <SolidColorBrush x:Key="キーボード 枠" Color="DimGray" />
  43. <SolidColorBrush x:Key="キー 押し込み" Color="OrangeRed" />
  44. <SolidColorBrush x:Key="キー 背景" Color="Black" />
  45. <SolidColorBrush x:Key="キー 影" Color="#7A000000" />
  46. <SolidColorBrush x:Key="文字" Color="Snow" />
  47.  
  48. <ControlTemplate x:Key="TypeWriterKey">
  49. <Grid x:Name="Outer" RenderTransformOrigin="0.5,0.5">
  50. <Grid.RenderTransform>
  51. <ScaleTransform x:Name="ScaleTransform" />
  52. </Grid.RenderTransform>
  53. <Grid.RowDefinitions>
  54. <RowDefinition />
  55. <RowDefinition Height="2" />
  56. </Grid.RowDefinitions>
  57. <Grid.ColumnDefinitions>
  58. <ColumnDefinition />
  59. <ColumnDefinition Width="2" />
  60. </Grid.ColumnDefinitions>
  61. <Ellipse Grid.RowSpan="2"
  62. Grid.ColumnSpan="2"
  63. Margin="3,3,-5,-5"
  64. StrokeThickness="4">
  65. <Ellipse.Fill>
  66. <RadialGradientBrush>
  67. <GradientStop Color="Black" />
  68. <GradientStop Offset="0.9" Color="{Binding BorderBrush.Color, RelativeSource={RelativeSource TemplatedParent}}" />
  69. <GradientStop Offset="1" Color="#0000" />
  70. </RadialGradientBrush>
  71. </Ellipse.Fill>
  72. </Ellipse>
  73. <Grid x:Name="Inner">
  74. <Ellipse Grid.RowSpan="2"
  75. Grid.ColumnSpan="2"
  76. Fill="{Binding Background,
  77. RelativeSource={RelativeSource TemplatedParent}}"
  78. StrokeThickness="4">
  79. <Ellipse.Stroke>
  80. <RadialGradientBrush>
  81. <GradientStop Color="#FF7F7F7F" />
  82. <GradientStop Offset="0.9" Color="#FF878787" />
  83. <GradientStop Offset="1" Color="#FFE4E4E4" />
  84. </RadialGradientBrush>
  85. </Ellipse.Stroke>
  86. </Ellipse>
  87. <Ellipse StrokeThickness="2">
  88. <Ellipse.Stroke>
  89. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  90. <LinearGradientBrush.RelativeTransform>
  91. <RotateTransform Angle="-45"
  92. CenterX="0.5"
  93. CenterY="0.5" />
  94. </LinearGradientBrush.RelativeTransform>
  95. <GradientStop Offset="0.2" Color="White" />
  96. <GradientStop Offset="0.25" />
  97. <GradientStop Offset="0.75" />
  98. <GradientStop Offset="0.8" Color="White" />
  99. </LinearGradientBrush>
  100. </Ellipse.Stroke>
  101. </Ellipse>
  102. <Viewbox Grid.RowSpan="2"
  103. Grid.ColumnSpan="2"
  104. Margin="{Binding Padding,
  105. RelativeSource={RelativeSource TemplatedParent}}">
  106. <TextBlock Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" />
  107. </Viewbox>
  108. </Grid>
  109. </Grid>
  110. <ControlTemplate.Triggers>
  111. <EventTrigger RoutedEvent="MouseEnter">
  112. <BeginStoryboard>
  113. <Storyboard>
  114. <DoubleAnimation Duration="0:0:0.1"
  115. Storyboard.TargetName="Outer"
  116. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
  117. To="1.2" />
  118. <DoubleAnimation Duration="0:0:0.1"
  119. Storyboard.TargetName="Outer"
  120. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
  121. To="1.2" />
  122. </Storyboard>
  123. </BeginStoryboard>
  124. </EventTrigger>
  125. <EventTrigger RoutedEvent="MouseLeave">
  126. <BeginStoryboard>
  127. <Storyboard>
  128. <DoubleAnimation Duration="0:0:0.1"
  129. Storyboard.TargetName="Outer"
  130. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
  131. To="1" />
  132. <DoubleAnimation Duration="0:0:0.1"
  133. Storyboard.TargetName="Outer"
  134. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
  135. To="1" />
  136. </Storyboard>
  137. </BeginStoryboard>
  138. </EventTrigger>
  139. <Trigger Property="IsMouseOver" Value="True">
  140. <Setter Property="Panel.ZIndex" Value="1" />
  141. </Trigger>
  142. <Trigger Property="Button.IsPressed" Value="True">
  143. <Setter TargetName="Inner"
  144. Property="Margin"
  145. Value="2,2,-2,-2" />
  146. </Trigger>
  147. <Trigger Property="ToggleButton.IsChecked" Value="True">
  148. <Setter TargetName="Inner"
  149. Property="Margin"
  150. Value="2,2,-2,-2" />
  151. </Trigger>
  152. </ControlTemplate.Triggers>
  153. </ControlTemplate>
  154.  
  155. <ControlTemplate x:Key="TypeWriterSpace">
  156. <Grid x:Name="Outer" RenderTransformOrigin="0.5,0.5">
  157. <Grid.RenderTransform>
  158. <ScaleTransform x:Name="ScaleTransform" />
  159. </Grid.RenderTransform>
  160. <Grid x:Name="Inner">
  161. <Rectangle x:Name="Shadow"
  162. Fill="{TemplateBinding Background}"
  163. RadiusX="10"
  164. RadiusY="10">
  165. <Rectangle.Effect>
  166. <DropShadowEffect Opacity="1"
  167. ShadowDepth="6"
  168. Color="{Binding BorderBrush.Color,
  169. RelativeSource={RelativeSource TemplatedParent}}" />
  170. </Rectangle.Effect>
  171. </Rectangle>
  172. <Rectangle Fill="Gray"
  173. RadiusX="10"
  174. RadiusY="10">
  175. <Rectangle.OpacityMask>
  176. <ImageBrush ImageSource="pack://siteoforigin:,,,/Skin/noise.png" />
  177. </Rectangle.OpacityMask>
  178. </Rectangle>
  179. <Viewbox Margin="{TemplateBinding Padding}">
  180. <TextBlock Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" />
  181. </Viewbox>
  182. </Grid>
  183. </Grid>
  184. <ControlTemplate.Triggers>
  185. <EventTrigger RoutedEvent="MouseEnter">
  186. <BeginStoryboard>
  187. <Storyboard>
  188. <DoubleAnimation Duration="0:0:0.1"
  189. Storyboard.TargetName="Outer"
  190. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
  191. To="1.2" />
  192. <DoubleAnimation Duration="0:0:0.1"
  193. Storyboard.TargetName="Outer"
  194. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
  195. To="1.2" />
  196. </Storyboard>
  197. </BeginStoryboard>
  198. </EventTrigger>
  199. <EventTrigger RoutedEvent="MouseLeave">
  200. <BeginStoryboard>
  201. <Storyboard>
  202. <DoubleAnimation Duration="0:0:0.1"
  203. Storyboard.TargetName="Outer"
  204. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
  205. To="1" />
  206. <DoubleAnimation Duration="0:0:0.1"
  207. Storyboard.TargetName="Outer"
  208. Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
  209. To="1" />
  210. </Storyboard>
  211. </BeginStoryboard>
  212. </EventTrigger>
  213. <Trigger Property="IsMouseOver" Value="True">
  214. <Setter Property="Panel.ZIndex" Value="1" />
  215. </Trigger>
  216. <Trigger Property="Button.IsPressed" Value="True">
  217. <Setter TargetName="Inner"
  218. Property="Margin"
  219. Value="2,2,-2,-2" />
  220. <Setter TargetName="Shadow" Property="Effect">
  221. <Setter.Value>
  222. <DropShadowEffect Opacity="1"
  223. ShadowDepth="3"
  224. Color="{Binding BorderBrush.Color,
  225. RelativeSource={RelativeSource TemplatedParent}}" />
  226. </Setter.Value>
  227. </Setter>
  228. <Setter TargetName="Outer"
  229. Property="Margin"
  230. Value="2,2,-2,-2" />
  231. </Trigger>
  232. </ControlTemplate.Triggers>
  233. </ControlTemplate>
  234.  
  235. <Style TargetType="{x:Type ButtonBase}">
  236. <Setter Property="Width" Value="35" />
  237. <Setter Property="Height" Value="35" />
  238. <Setter Property="Padding" Value="5" />
  239. <Setter Property="Foreground" Value="{DynamicResource 文字}" />
  240. <Setter Property="Background" Value="{DynamicResource キー 背景}" />
  241. <Setter Property="BorderBrush" Value="{DynamicResource キー 影}" />
  242. <Setter Property="Template" Value="{StaticResource TypeWriterKey}" />
  243. <Style.Triggers>
  244. <Trigger Property="IsPressed" Value="True">
  245. <Setter Property="Background" Value="{DynamicResource キー 押し込み}" />
  246. </Trigger>
  247. <Trigger Property="ToggleButton.IsChecked" Value="True">
  248. <Setter Property="Background" Value="{DynamicResource キー 押し込み}" />
  249. </Trigger>
  250. </Style.Triggers>
  251. </Style>
  252.  
  253. <Style BasedOn="{StaticResource {x:Type ButtonBase}}" TargetType="{x:Type z:LRButton}" />
  254. <Style x:Key="HideButton"
  255. BasedOn="{StaticResource {x:Type z:LRButton}}"
  256. TargetType="{x:Type z:LRButton}">
  257. <Setter Property="Padding" Value="8" />
  258. <Setter Property="Visibility" Value="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=Fn}" />
  259. </Style>
  260. <Style x:Key="Function"
  261. BasedOn="{StaticResource HideButton}"
  262. TargetType="{x:Type z:LRButton}">
  263. <Setter Property="Width" Value="30" />
  264. <Setter Property="Height" Value="30" />
  265. <Setter Property="Padding" Value="8" />
  266. </Style>
  267. <Style x:Key="Space"
  268. BasedOn="{StaticResource {x:Type z:LRButton}}"
  269. TargetType="{x:Type z:LRButton}">
  270. <Setter Property="Template" Value="{StaticResource TypeWriterSpace}" />
  271. </Style>
  272.  
  273. <Style BasedOn="{StaticResource {x:Type ButtonBase}}" TargetType="{x:Type ToggleButton}" />
  274. <Style BasedOn="{StaticResource {x:Type ToggleButton}}" TargetType="{x:Type z:LRToggleButton}" />
  275. <Style x:Key="HideToggleButton"
  276. BasedOn="{StaticResource {x:Type z:LRToggleButton}}"
  277. TargetType="{x:Type z:LRToggleButton}">
  278. <Setter Property="Padding" Value="8" />
  279. <Setter Property="Visibility" Value="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=Fn}" />
  280. </Style>
  281. </z:Keyboard.Resources>
  282.  
  283. <Grid>
  284. <Rectangle Fill="{DynamicResource キーボード 背景}"
  285. RadiusX="20"
  286. RadiusY="20"
  287. Stroke="{DynamicResource キーボード 枠}"
  288. StrokeThickness="3" />
  289.  
  290. <Viewbox Stretch="Fill">
  291. <Canvas Width="660" Height="270">
  292. <TextBlock Width="660"
  293. Height="60"
  294. FontFamily="Mongolian Baiti"
  295. FontSize="48"
  296. FontStyle="Italic"
  297. Foreground="#4CFFFFFF"
  298. Text="Typewriter"
  299. TextAlignment="Center"
  300. Visibility="{Binding IsChecked,
  301. Converter={StaticResource BooleanToCollapsedConverter},
  302. ElementName=Fn}" />
  303.  
  304. <z:LRButton Canvas.Left="37"
  305. Canvas.Top="20"
  306. Content="Esc"
  307. Style="{StaticResource HideButton}"
  308. TypeKey="Esc" />
  309. <z:LRButton Canvas.Left="103"
  310. Canvas.Top="20"
  311. Content="F1"
  312. Style="{StaticResource Function}"
  313. TypeKey="F1" />
  314. <z:LRButton Canvas.Left="143"
  315. Canvas.Top="20"
  316. Content="F2"
  317. Style="{StaticResource Function}"
  318. TypeKey="F2" />
  319. <z:LRButton Canvas.Left="183"
  320. Canvas.Top="20"
  321. Content="F3"
  322. Style="{StaticResource Function}"
  323. TypeKey="F3" />
  324. <z:LRButton Canvas.Left="223"
  325. Canvas.Top="20"
  326. Content="F4"
  327. Style="{StaticResource Function}"
  328. TypeKey="F4" />
  329. <z:LRButton Canvas.Left="283"
  330. Canvas.Top="20"
  331. Content="F5"
  332. Style="{StaticResource Function}"
  333. TypeKey="F5" />
  334. <z:LRButton Canvas.Left="323"
  335. Canvas.Top="20"
  336. Content="F6"
  337. Style="{StaticResource Function}"
  338. TypeKey="F6" />
  339. <z:LRButton Canvas.Left="363"
  340. Canvas.Top="20"
  341. Content="F7"
  342. Style="{StaticResource Function}"
  343. TypeKey="F7" />
  344. <z:LRButton Canvas.Left="403"
  345. Canvas.Top="20"
  346. Content="F8"
  347. Style="{StaticResource Function}"
  348. TypeKey="F8" />
  349. <z:LRButton Canvas.Left="463"
  350. Canvas.Top="20"
  351. Content="F9"
  352. Style="{StaticResource Function}"
  353. TypeKey="F9" />
  354. <z:LRButton Canvas.Left="503"
  355. Canvas.Top="20"
  356. Content="F10"
  357. Style="{StaticResource Function}"
  358. TypeKey="F10" />
  359. <z:LRButton Canvas.Left="543"
  360. Canvas.Top="20"
  361. Content="F11"
  362. Style="{StaticResource Function}"
  363. TypeKey="F11" />
  364. <z:LRButton Canvas.Left="583"
  365. Canvas.Top="20"
  366. Content="F12"
  367. Style="{StaticResource Function}"
  368. TypeKey="F12" />
  369. <z:LRButton Canvas.Left="20"
  370. Canvas.Top="60"
  371. Content="IME"
  372. TypeKey="KanjiMode">
  373. <z:LRButton.Style>
  374. <Style BasedOn="{StaticResource HideButton}" TargetType="{x:Type z:LRButton}">
  375. <Style.Triggers>
  376. <DataTrigger Binding="{Binding ModeKeys.ImeLock}" Value="true">
  377. <Setter Property="Background" Value="{DynamicResource キー 押し込み}" />
  378. </DataTrigger>
  379. </Style.Triggers>
  380. </Style>
  381. </z:LRButton.Style>
  382. </z:LRButton>
  383. <z:LRButton Canvas.Left="60"
  384. Canvas.Top="60"
  385. Content="1 !"
  386. Padding="8"
  387. TypeKey="D1" />
  388. <z:LRButton Canvas.Left="100"
  389. Canvas.Top="60"
  390. Content="2 &quot;"
  391. Padding="8"
  392. TypeKey="D2" />
  393. <z:LRButton Canvas.Left="140"
  394. Canvas.Top="60"
  395. Content="3 #"
  396. Padding="8"
  397. TypeKey="D3" />
  398. <z:LRButton Canvas.Left="180"
  399. Canvas.Top="60"
  400. Content="4 $"
  401. Padding="8"
  402. TypeKey="D4" />
  403. <z:LRButton Canvas.Left="220"
  404. Canvas.Top="60"
  405. Content="5 %"
  406. Padding="8"
  407. TypeKey="D5" />
  408. <z:LRButton Canvas.Left="260"
  409. Canvas.Top="60"
  410. Content="6 &amp;"
  411. Padding="8"
  412. TypeKey="D6" />
  413. <z:LRButton Canvas.Left="300"
  414. Canvas.Top="60"
  415. Content="7 '"
  416. Padding="8"
  417. TypeKey="D7" />
  418. <z:LRButton Canvas.Left="340"
  419. Canvas.Top="60"
  420. Content="8 ("
  421. Padding="8"
  422. TypeKey="D8" />
  423. <z:LRButton Canvas.Left="380"
  424. Canvas.Top="60"
  425. Content="9 )"
  426. Padding="8"
  427. TypeKey="D9" />
  428. <z:LRButton Canvas.Left="420"
  429. Canvas.Top="60"
  430. Content="0 "
  431. Padding="8"
  432. TypeKey="D0" />
  433. <z:LRButton Canvas.Left="460"
  434. Canvas.Top="60"
  435. Content="- ="
  436. Padding="8"
  437. TypeKey="OemMinus" />
  438. <z:LRButton Canvas.Left="500"
  439. Canvas.Top="60"
  440. Content="^ ~"
  441. Padding="8"
  442. TypeKey="OemQuotes" />
  443. <z:LRButton Canvas.Left="540"
  444. Canvas.Top="60"
  445. Content="\ |"
  446. Padding="8"
  447. TypeKey="Oem5" />
  448. <z:LRButton Canvas.Left="580"
  449. Canvas.Top="60"
  450. Content="␈"
  451. TypeKey="Backspace" />
  452.  
  453. <z:LRButton Canvas.Left="40"
  454. Canvas.Top="100"
  455. Content="⇥"
  456. TypeKey="Tab" />
  457. <z:LRButton Canvas.Left="80"
  458. Canvas.Top="100"
  459. Content="Q"
  460. TypeKey="Q" />
  461. <z:LRButton Canvas.Left="120"
  462. Canvas.Top="100"
  463. Content="W"
  464. TypeKey="W" />
  465. <z:LRButton Canvas.Left="160"
  466. Canvas.Top="100"
  467. Content="E"
  468. TypeKey="E" />
  469. <z:LRButton Canvas.Left="200"
  470. Canvas.Top="100"
  471. Content="R"
  472. TypeKey="R" />
  473. <z:LRButton Canvas.Left="240"
  474. Canvas.Top="100"
  475. Content="T"
  476. TypeKey="T" />
  477. <z:LRButton Canvas.Left="280"
  478. Canvas.Top="100"
  479. Content="Y"
  480. TypeKey="Y" />
  481. <z:LRButton Canvas.Left="320"
  482. Canvas.Top="100"
  483. Content="U"
  484. TypeKey="U" />
  485. <z:LRButton Canvas.Left="360"
  486. Canvas.Top="100"
  487. Content="I"
  488. TypeKey="I" />
  489. <z:LRButton Canvas.Left="400"
  490. Canvas.Top="100"
  491. Content="O"
  492. TypeKey="O" />
  493. <z:LRButton Canvas.Left="440"
  494. Canvas.Top="100"
  495. Content="P"
  496. TypeKey="P" />
  497. <z:LRButton Canvas.Left="480"
  498. Canvas.Top="100"
  499. Content="@ `"
  500. Padding="8"
  501. TypeKey="Oem3" />
  502. <z:LRButton Canvas.Left="520"
  503. Canvas.Top="100"
  504. Content="[ {"
  505. Padding="8"
  506. TypeKey="OemOpenBrackets" />
  507. <z:LRButton Canvas.Left="560"
  508. Canvas.Top="100"
  509. Width="75"
  510. Height="75"
  511. Content="⏎"
  512. TypeKey="Enter" />
  513. <z:LRButton Canvas.Left="44"
  514. Canvas.Top="140"
  515. Content="⇪"
  516. TypeKey="CapsLock">
  517. <z:LRButton.Style>
  518. <Style BasedOn="{StaticResource {x:Type z:LRButton}}" TargetType="z:LRButton">
  519. <Style.Triggers>
  520. <DataTrigger Binding="{Binding ModeKeys.CapsLock}" Value="true">
  521. <Setter Property="Background" Value="{DynamicResource キー 押し込み}" />
  522. </DataTrigger>
  523. </Style.Triggers>
  524. </Style>
  525. </z:LRButton.Style>
  526. </z:LRButton>
  527. <z:LRButton Canvas.Left="84"
  528. Canvas.Top="140"
  529. Content="A"
  530. TypeKey="A" />
  531. <z:LRButton Canvas.Left="124"
  532. Canvas.Top="140"
  533. Content="S"
  534. TypeKey="S" />
  535. <z:LRButton Canvas.Left="164"
  536. Canvas.Top="140"
  537. Content="D"
  538. TypeKey="D" />
  539. <z:LRButton Canvas.Left="204"
  540. Canvas.Top="140"
  541. Content="F"
  542. TypeKey="F" />
  543. <z:LRButton Canvas.Left="244"
  544. Canvas.Top="140"
  545. Content="G"
  546. TypeKey="G" />
  547. <z:LRButton Canvas.Left="284"
  548. Canvas.Top="140"
  549. Content="H"
  550. TypeKey="H" />
  551. <z:LRButton Canvas.Left="324"
  552. Canvas.Top="140"
  553. Content="J"
  554. TypeKey="J" />
  555. <z:LRButton Canvas.Left="364"
  556. Canvas.Top="140"
  557. Content="K"
  558. TypeKey="K" />
  559. <z:LRButton Canvas.Left="404"
  560. Canvas.Top="140"
  561. Content="L"
  562. TypeKey="L" />
  563. <z:LRButton Canvas.Left="444"
  564. Canvas.Top="140"
  565. Content="; +"
  566. Padding="8"
  567. TypeKey="OemPlus" />
  568. <z:LRButton Canvas.Left="484"
  569. Canvas.Top="140"
  570. Content=": *"
  571. Padding="8"
  572. TypeKey="Oem1" />
  573. <z:LRButton Canvas.Left="524"
  574. Canvas.Top="140"
  575. Content="] }"
  576. Padding="8"
  577. TypeKey="OemCloseBrackets" />
  578. <z:LRToggleButton Canvas.Left="48"
  579. Canvas.Top="180"
  580. Width="50"
  581. Height="50"
  582. Content="⇧"
  583. TypeKey="Shift" />
  584. <z:LRButton Canvas.Left="105"
  585. Canvas.Top="180"
  586. Content="Z"
  587. TypeKey="Z" />
  588. <z:LRButton Canvas.Left="145"
  589. Canvas.Top="180"
  590. Content="X"
  591. TypeKey="X" />
  592. <z:LRButton Canvas.Left="185"
  593. Canvas.Top="180"
  594. Content="C"
  595. TypeKey="C" />
  596. <z:LRButton Canvas.Left="225"
  597. Canvas.Top="180"
  598. Content="V"
  599. TypeKey="V" />
  600. <z:LRButton Canvas.Left="265"
  601. Canvas.Top="180"
  602. Content="B"
  603. TypeKey="B" />
  604. <z:LRButton Canvas.Left="305"
  605. Canvas.Top="180"
  606. Content="N"
  607. TypeKey="N" />
  608. <z:LRButton Canvas.Left="345"
  609. Canvas.Top="180"
  610. Content="M"
  611. TypeKey="M" />
  612. <z:LRButton Canvas.Left="385"
  613. Canvas.Top="180"
  614. Content=", &lt;"
  615. Padding="8"
  616. TypeKey="OemComma" />
  617. <z:LRButton Canvas.Left="425"
  618. Canvas.Top="180"
  619. Content=". &gt;"
  620. Padding="8"
  621. TypeKey="OemPeriod" />
  622. <z:LRButton Canvas.Left="465"
  623. Canvas.Top="180"
  624. Content="/ ?"
  625. Padding="8"
  626. TypeKey="OemQuestion" />
  627. <z:LRButton Canvas.Left="505"
  628. Canvas.Top="180"
  629. Content="\ _"
  630. FontFamily="Arial"
  631. Padding="8"
  632. TypeKey="OemBackslash" />
  633. <z:LRToggleButton Canvas.Left="105"
  634. Canvas.Top="220"
  635. Content="Ctrl"
  636. Style="{StaticResource HideToggleButton}"
  637. TypeKey="Ctrl" />
  638. <z:LRToggleButton Canvas.Left="145"
  639. Canvas.Top="220"
  640. Content="Win"
  641. Style="{StaticResource HideToggleButton}"
  642. TypeKey="Win" />
  643. <z:LRToggleButton Canvas.Left="185"
  644. Canvas.Top="220"
  645. Content="Alt"
  646. Style="{StaticResource HideToggleButton}"
  647. TypeKey="Alt" />
  648. <z:LRButton Canvas.Left="225"
  649. Canvas.Top="220"
  650. Content="無変換"
  651. Style="{StaticResource HideButton}"
  652. TypeKey="ImeNonConvert" />
  653. <z:LRButton Canvas.Left="265"
  654. Canvas.Top="220"
  655. Width="115"
  656. Height="35"
  657. Style="{StaticResource Space}" />
  658. <z:LRButton Canvas.Left="122"
  659. Canvas.Top="220"
  660. Width="400"
  661. Height="35"
  662. Style="{StaticResource Space}"
  663. TypeKey="Space"
  664. Visibility="{Binding IsChecked,
  665. Converter={StaticResource BooleanToCollapsedConverter},
  666. ElementName=Fn}" />
  667.  
  668. <z:LRButton Canvas.Left="385"
  669. Canvas.Top="220"
  670. Content="変換"
  671. Style="{StaticResource HideButton}"
  672. TypeKey="ImeConvert" />
  673. <z:LRButton Canvas.Left="425"
  674. Canvas.Top="220"
  675. Content="ひらがな"
  676. Style="{StaticResource HideButton}"
  677. TypeKey="OemAttn" />
  678. <z:LRButton Canvas.Left="465"
  679. Canvas.Top="220"
  680. Content="App"
  681. Style="{StaticResource HideButton}"
  682. TypeKey="Apps" />
  683.  
  684. <z:LRButton x:Name="Up"
  685. Canvas.Left="555"
  686. Canvas.Top="180"
  687. Content="↑"
  688. Padding="5"
  689. Style="{StaticResource HideButton}"
  690. TypeKey="Up" />
  691. <ToggleButton x:Name="Fn"
  692. Canvas.Left="595"
  693. Canvas.Top="180"
  694. Content="Fn"
  695. Focusable="False"
  696. Padding="8" />
  697. <z:LRButton Canvas.Left="515"
  698. Canvas.Top="220"
  699. Content="←"
  700. Padding="5"
  701. Style="{StaticResource HideButton}"
  702. TypeKey="Left" />
  703. <z:LRButton x:Name="Down"
  704. Canvas.Left="555"
  705. Canvas.Top="220"
  706. Content="↓"
  707. Padding="5"
  708. Style="{StaticResource HideButton}"
  709. TypeKey="Down" />
  710. <z:LRButton Canvas.Left="595"
  711. Canvas.Top="220"
  712. Content="→"
  713. Padding="5"
  714. Style="{StaticResource HideButton}"
  715. TypeKey="Right" />
  716. </Canvas>
  717. </Viewbox>
  718. <z:ResizeGrip Background="#01000000" Foreground="Snow">
  719. <z:ResizeGrip.Style>
  720. <Style TargetType="{x:Type z:ResizeGrip}">
  721. <Setter Property="HorizontalAlignment" Value="Right" />
  722. <Setter Property="VerticalAlignment" Value="Bottom" />
  723. <Setter Property="Template">
  724. <Setter.Value>
  725. <ControlTemplate>
  726. <Grid>
  727. <Rectangle Fill="{TemplateBinding Background}" />
  728. <Path Data="M6,0 L7,0 7,1 6,1 z M6,2 L6,3 7,3 7,2 z M6,4 L6,5 7,5 7,4 z M6,6 L6,7 7,7 7,6 z M0,6 L0,7 1,7 1,6 z M2,6 L2,7 3,7 3,6 z M4,6 L4,7 5,7 5,6 z M4,2 L4,3 5,3, 5,2 z M4,4 L4,5 5,5, 5,4 z M2,4 L2,5 3,5, 3,4 z" Fill="{TemplateBinding Foreground}" />
  729. </Grid>
  730. </ControlTemplate>
  731. </Setter.Value>
  732. </Setter>
  733. </Style>
  734. </z:ResizeGrip.Style>
  735. </z:ResizeGrip>
  736. </Grid>
  737. </z:Keyboard>

0 件のコメント :

コメントを投稿