ControllerSettingsWindow.axaml 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167
  1. <UserControl
  2. x:Class="Ryujinx.Ava.Ui.Windows.ControllerSettingsWindow"
  3. xmlns="https://github.com/avaloniaui"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
  6. xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
  7. xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  10. xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
  11. HorizontalAlignment="Stretch"
  12. VerticalAlignment="Stretch"
  13. d:DesignHeight="800"
  14. d:DesignWidth="800"
  15. x:CompileBindings="False"
  16. mc:Ignorable="d">
  17. <Design.DataContext>
  18. <viewModels:ControllerSettingsViewModel />
  19. </Design.DataContext>
  20. <UserControl.Resources>
  21. <controls:KeyValueConverter x:Key="Key" />
  22. </UserControl.Resources>
  23. <StackPanel
  24. HorizontalAlignment="Stretch"
  25. VerticalAlignment="Stretch"
  26. Orientation="Vertical">
  27. <Grid Margin="2,2,2,5" HorizontalAlignment="Stretch">
  28. <Grid.ColumnDefinitions>
  29. <ColumnDefinition Width="Auto" />
  30. <ColumnDefinition Width="*" />
  31. <ColumnDefinition Width="0.5*" />
  32. <ColumnDefinition Width="Auto" />
  33. </Grid.ColumnDefinitions>
  34. <Border
  35. Grid.Column="0"
  36. Margin="0,0,2,0"
  37. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  38. BorderThickness="1">
  39. <StackPanel
  40. Margin="2"
  41. HorizontalAlignment="Center"
  42. VerticalAlignment="Center"
  43. Orientation="Vertical">
  44. <TextBlock
  45. Margin="0,0,0,4"
  46. HorizontalAlignment="Center"
  47. Text="{locale:Locale ControllerSettingsPlayer}" />
  48. <ComboBox
  49. Name="PlayerIndexBox"
  50. Width="150"
  51. SelectionChanged="PlayerIndexBox_OnSelectionChanged"
  52. Items="{Binding PlayerIndexes}"
  53. SelectedIndex="{Binding PlayerId}">
  54. <ComboBox.ItemTemplate>
  55. <DataTemplate>
  56. <TextBlock Text="{Binding Name}" />
  57. </DataTemplate>
  58. </ComboBox.ItemTemplate>
  59. </ComboBox>
  60. </StackPanel>
  61. </Border>
  62. <!-- Main Controller Settings -->
  63. <Border
  64. Grid.Column="1"
  65. Margin="0,0,2,0"
  66. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  67. BorderThickness="1">
  68. <StackPanel
  69. Margin="2"
  70. HorizontalAlignment="Stretch"
  71. VerticalAlignment="Center"
  72. Orientation="Vertical">
  73. <TextBlock
  74. Margin="0,0,0,5"
  75. HorizontalAlignment="Center"
  76. Text="{locale:Locale ControllerSettingsInputDevice}" />
  77. <Grid HorizontalAlignment="Stretch">
  78. <Grid.ColumnDefinitions>
  79. <ColumnDefinition />
  80. <ColumnDefinition Width="Auto" />
  81. </Grid.ColumnDefinitions>
  82. <ComboBox
  83. Name="DeviceBox"
  84. HorizontalAlignment="Stretch"
  85. Items="{Binding DeviceList}"
  86. SelectedIndex="{Binding Device}" />
  87. <Button
  88. Grid.Column="1"
  89. MinWidth="0"
  90. Margin="5,0,0,0"
  91. VerticalAlignment="Center"
  92. Command="{Binding LoadDevices}">
  93. <ui:SymbolIcon
  94. Symbol="Refresh"
  95. FontSize="15"
  96. Height="20" />
  97. </Button>
  98. </Grid>
  99. </StackPanel>
  100. </Border>
  101. <Border
  102. Grid.Column="2"
  103. Margin="0,0,2,0"
  104. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  105. BorderThickness="1">
  106. <Grid
  107. Margin="2"
  108. HorizontalAlignment="Stretch"
  109. VerticalAlignment="Center">
  110. <Grid.RowDefinitions>
  111. <RowDefinition />
  112. <RowDefinition />
  113. </Grid.RowDefinitions>
  114. <TextBlock
  115. Margin="0,0,0,4"
  116. HorizontalAlignment="Center"
  117. Text="{locale:Locale ControllerSettingsControllerType}" />
  118. <ComboBox
  119. Grid.Row="1"
  120. HorizontalAlignment="Stretch"
  121. Items="{Binding Controllers}"
  122. SelectedIndex="{Binding Controller}">
  123. <ComboBox.ItemTemplate>
  124. <DataTemplate>
  125. <TextBlock Text="{Binding Name}" />
  126. </DataTemplate>
  127. </ComboBox.ItemTemplate>
  128. </ComboBox>
  129. </Grid>
  130. </Border>
  131. <Border
  132. Grid.Column="3"
  133. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  134. BorderThickness="1">
  135. <StackPanel
  136. Margin="2"
  137. HorizontalAlignment="Center"
  138. VerticalAlignment="Center"
  139. Orientation="Vertical">
  140. <TextBlock
  141. Margin="0,0,0,4"
  142. HorizontalAlignment="Center"
  143. Text="{locale:Locale ControllerSettingsProfile}" />
  144. <StackPanel Orientation="Horizontal">
  145. <ui:ComboBox
  146. IsEditable="True"
  147. Name="ProfileBox"
  148. Width="100"
  149. SelectedIndex="0"
  150. Items="{Binding ProfilesList}"
  151. Text="{Binding ProfileName}" />
  152. <Button
  153. MinWidth="60"
  154. Margin="5,0,0,0"
  155. VerticalAlignment="Center"
  156. ToolTip.Tip="{locale:Locale ControllerSettingsLoadProfileToolTip}"
  157. Command="{Binding LoadProfile}">
  158. <ui:SymbolIcon
  159. Symbol="Upload"
  160. FontSize="15"
  161. Height="20" />
  162. </Button>
  163. <Button
  164. MinWidth="60"
  165. Margin="5,0,0,0"
  166. VerticalAlignment="Center"
  167. ToolTip.Tip="{locale:Locale ControllerSettingsSaveProfileToolTip}"
  168. Command="{Binding SaveProfile}">
  169. <ui:SymbolIcon
  170. Symbol="Save"
  171. FontSize="15"
  172. Height="20" />
  173. </Button>
  174. <Button
  175. MinWidth="60"
  176. Margin="5,0,0,0"
  177. VerticalAlignment="Center"
  178. ToolTip.Tip="{locale:Locale ControllerSettingsRemoveProfileToolTip}"
  179. Command="{Binding RemoveProfile}">
  180. <ui:SymbolIcon
  181. Symbol="Delete"
  182. FontSize="15"
  183. Height="20" />
  184. </Button>
  185. </StackPanel>
  186. </StackPanel>
  187. </Border>
  188. </Grid>
  189. <!-- Button / JoyStick Settings -->
  190. <Grid
  191. Name="SettingButtons"
  192. MinHeight="450"
  193. IsVisible="{Binding ShowSettings}">
  194. <Grid.ColumnDefinitions>
  195. <ColumnDefinition Width="Auto" />
  196. <ColumnDefinition Width="*" />
  197. <ColumnDefinition Width="Auto" />
  198. </Grid.ColumnDefinitions>
  199. <!-- Left -->
  200. <Grid
  201. Margin="0,0,10,0"
  202. Grid.Column="0"
  203. VerticalAlignment="Stretch"
  204. DockPanel.Dock="Left">
  205. <Grid.RowDefinitions>
  206. <RowDefinition Height="Auto" />
  207. <RowDefinition Height="Auto" />
  208. <RowDefinition Height="Auto" />
  209. </Grid.RowDefinitions>
  210. <!-- Left Triggers -->
  211. <Border
  212. Grid.Row="0"
  213. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  214. BorderThickness="1"
  215. IsVisible="{Binding IsLeft}">
  216. <Grid Margin="10" HorizontalAlignment="Stretch">
  217. <Grid.ColumnDefinitions>
  218. <ColumnDefinition />
  219. <ColumnDefinition />
  220. </Grid.ColumnDefinitions>
  221. <Grid.RowDefinitions>
  222. <RowDefinition />
  223. <RowDefinition />
  224. </Grid.RowDefinitions>
  225. <StackPanel
  226. Margin="0,0,0,4"
  227. Grid.Column="0"
  228. Grid.Row="0"
  229. Background="{DynamicResource ThemeDarkColor}"
  230. Orientation="Horizontal">
  231. <TextBlock
  232. Width="20"
  233. HorizontalAlignment="Center"
  234. VerticalAlignment="Center"
  235. Text="{locale:Locale ControllerSettingsTriggerZL}"
  236. TextAlignment="Center" />
  237. <ToggleButton
  238. Width="90"
  239. Height="27"
  240. HorizontalAlignment="Stretch">
  241. <TextBlock
  242. Text="{Binding Configuration.ButtonZl, Mode=TwoWay, Converter={StaticResource Key}}"
  243. TextAlignment="Center" />
  244. </ToggleButton>
  245. </StackPanel>
  246. <StackPanel
  247. Grid.Column="0"
  248. Grid.Row="1"
  249. Background="{DynamicResource ThemeDarkColor}"
  250. Orientation="Horizontal">
  251. <TextBlock
  252. Width="20"
  253. HorizontalAlignment="Center"
  254. VerticalAlignment="Center"
  255. Text="{locale:Locale ControllerSettingsTriggerL}"
  256. TextAlignment="Center" />
  257. <ToggleButton
  258. Width="90"
  259. Height="27"
  260. HorizontalAlignment="Stretch">
  261. <TextBlock
  262. Text="{Binding Configuration.ButtonL, Mode=TwoWay, Converter={StaticResource Key}}"
  263. TextAlignment="Center" />
  264. </ToggleButton>
  265. </StackPanel>
  266. <StackPanel
  267. Margin="0,0,0,4"
  268. Grid.Column="1"
  269. Grid.Row="0"
  270. Background="{DynamicResource ThemeDarkColor}"
  271. Orientation="Horizontal">
  272. <TextBlock
  273. Width="20"
  274. HorizontalAlignment="Center"
  275. VerticalAlignment="Center"
  276. Text="{locale:Locale ControllerSettingsButtonMinus}"
  277. TextAlignment="Center" />
  278. <ToggleButton
  279. Width="90"
  280. Height="27"
  281. HorizontalAlignment="Stretch">
  282. <TextBlock
  283. Text="{Binding Configuration.ButtonMinus, Mode=TwoWay, Converter={StaticResource Key}}"
  284. TextAlignment="Center" />
  285. </ToggleButton>
  286. </StackPanel>
  287. </Grid>
  288. </Border>
  289. <!-- Left Joystick -->
  290. <Border
  291. Grid.Row="1"
  292. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  293. BorderThickness="1"
  294. IsVisible="{Binding IsLeft}">
  295. <StackPanel Margin="10" Orientation="Vertical">
  296. <TextBlock
  297. Margin="0,0,0,10"
  298. HorizontalAlignment="Center"
  299. Text="{locale:Locale ControllerSettingsLStick}" />
  300. <!-- Left Joystick Keyboard -->
  301. <StackPanel IsVisible="{Binding !IsController}" Orientation="Vertical">
  302. <!-- Left Joystick Button -->
  303. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  304. <TextBlock
  305. Margin="0,0,10,0"
  306. Width="120"
  307. HorizontalAlignment="Center"
  308. VerticalAlignment="Center"
  309. Text="{locale:Locale ControllerSettingsLStickButton}"
  310. TextAlignment="Center" />
  311. <ToggleButton
  312. Width="90"
  313. Height="27"
  314. HorizontalAlignment="Stretch">
  315. <TextBlock
  316. Text="{Binding Configuration.LeftKeyboardStickButton, Mode=TwoWay, Converter={StaticResource Key}}"
  317. TextAlignment="Center" />
  318. </ToggleButton>
  319. </StackPanel>
  320. <!-- Left Joystick Up -->
  321. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  322. <TextBlock
  323. Margin="0,0,10,0"
  324. Width="120"
  325. HorizontalAlignment="Center"
  326. VerticalAlignment="Center"
  327. Text="{locale:Locale ControllerSettingsLStickUp}"
  328. TextAlignment="Center" />
  329. <ToggleButton
  330. Width="90"
  331. Height="27"
  332. HorizontalAlignment="Stretch">
  333. <TextBlock
  334. Text="{Binding Configuration.LeftStickUp, Mode=TwoWay, Converter={StaticResource Key}}"
  335. TextAlignment="Center" />
  336. </ToggleButton>
  337. </StackPanel>
  338. <!-- Left Joystick Down -->
  339. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  340. <TextBlock
  341. Margin="0,0,10,0"
  342. Width="120"
  343. HorizontalAlignment="Center"
  344. VerticalAlignment="Center"
  345. Text="{locale:Locale ControllerSettingsLStickDown}"
  346. TextAlignment="Center" />
  347. <ToggleButton
  348. Width="90"
  349. Height="27"
  350. HorizontalAlignment="Stretch">
  351. <TextBlock
  352. Text="{Binding Configuration.LeftStickDown, Mode=TwoWay, Converter={StaticResource Key}}"
  353. TextAlignment="Center" />
  354. </ToggleButton>
  355. </StackPanel>
  356. <!-- Left Joystick Left -->
  357. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  358. <TextBlock
  359. Margin="0,0,10,0"
  360. Width="120"
  361. HorizontalAlignment="Center"
  362. VerticalAlignment="Center"
  363. Text="{locale:Locale ControllerSettingsLStickLeft}"
  364. TextAlignment="Center" />
  365. <ToggleButton
  366. Width="90"
  367. Height="27"
  368. HorizontalAlignment="Stretch">
  369. <TextBlock
  370. Text="{Binding Configuration.LeftStickLeft, Mode=TwoWay, Converter={StaticResource Key}}"
  371. TextAlignment="Center" />
  372. </ToggleButton>
  373. </StackPanel>
  374. <!-- Left Joystick Right -->
  375. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  376. <TextBlock
  377. Margin="0,0,10,0"
  378. Width="120"
  379. HorizontalAlignment="Center"
  380. VerticalAlignment="Center"
  381. Text="{locale:Locale ControllerSettingsLStickRight}"
  382. TextAlignment="Center" />
  383. <ToggleButton
  384. Width="90"
  385. Height="27"
  386. HorizontalAlignment="Stretch">
  387. <TextBlock
  388. Text="{Binding Configuration.LeftStickRight, Mode=TwoWay, Converter={StaticResource Key}}"
  389. TextAlignment="Center" />
  390. </ToggleButton>
  391. </StackPanel>
  392. </StackPanel>
  393. <!-- Left Joystick Controller -->
  394. <StackPanel IsVisible="{Binding IsController}" Orientation="Vertical">
  395. <!-- Left Joystick Button -->
  396. <StackPanel Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  397. <TextBlock
  398. Margin="0,0,10,0"
  399. Width="120"
  400. HorizontalAlignment="Center"
  401. VerticalAlignment="Center"
  402. Text="{locale:Locale ControllerSettingsLStickButton}"
  403. TextAlignment="Center" />
  404. <ToggleButton
  405. Width="90"
  406. Height="27"
  407. HorizontalAlignment="Stretch">
  408. <TextBlock
  409. Text="{Binding Configuration.LeftControllerStickButton, Mode=TwoWay, Converter={StaticResource Key}}"
  410. TextAlignment="Center" />
  411. </ToggleButton>
  412. </StackPanel>
  413. <!-- Left Joystick Stick -->
  414. <StackPanel Margin="0,4,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  415. <TextBlock
  416. Margin="0,0,10,0"
  417. Width="120"
  418. HorizontalAlignment="Center"
  419. VerticalAlignment="Center"
  420. Text="{locale:Locale ControllerSettingsLStickStick}"
  421. TextAlignment="Center" />
  422. <ToggleButton
  423. Width="90"
  424. Height="27"
  425. HorizontalAlignment="Stretch"
  426. Tag="stick">
  427. <TextBlock
  428. Text="{Binding Configuration.LeftJoystick, Mode=TwoWay, Converter={StaticResource Key}}"
  429. TextAlignment="Center" />
  430. </ToggleButton>
  431. </StackPanel>
  432. <CheckBox IsChecked="{Binding Configuration.LeftInvertStickX}">
  433. <TextBlock Text="{locale:Locale ControllerSettingsLStickInvertXAxis}" />
  434. </CheckBox>
  435. <CheckBox IsChecked="{Binding Configuration.LeftInvertStickY}">
  436. <TextBlock Text="{locale:Locale ControllerSettingsLStickInvertYAxis}" />
  437. </CheckBox>
  438. <CheckBox IsChecked="{Binding Configuration.LeftRotate90}">
  439. <TextBlock Text="{locale:Locale ControllerSettingsRotate90}" />
  440. </CheckBox>
  441. <Separator Margin="0,4,0,4" Height="1" />
  442. <StackPanel Orientation="Vertical">
  443. <TextBlock Text="{locale:Locale ControllerSettingsLStickDeadzone}" />
  444. <StackPanel
  445. HorizontalAlignment="Center"
  446. VerticalAlignment="Center"
  447. Orientation="Horizontal">
  448. <Slider
  449. Width="130"
  450. Maximum="1"
  451. TickFrequency="0.01"
  452. IsSnapToTickEnabled="True"
  453. Minimum="0"
  454. Value="{Binding Configuration.DeadzoneLeft, Mode=TwoWay}" />
  455. <TextBlock
  456. VerticalAlignment="Center"
  457. Text="{Binding Configuration.DeadzoneLeft, StringFormat=\{0:0.00\}}" />
  458. </StackPanel>
  459. <TextBlock Text="{locale:Locale ControllerSettingsStickRange}" />
  460. <StackPanel
  461. HorizontalAlignment="Center"
  462. VerticalAlignment="Center"
  463. Orientation="Horizontal">
  464. <Slider
  465. Width="130"
  466. Maximum="2"
  467. TickFrequency="0.01"
  468. IsSnapToTickEnabled="True"
  469. Minimum="0"
  470. Value="{Binding Configuration.RangeLeft, Mode=TwoWay}" />
  471. <TextBlock
  472. VerticalAlignment="Center"
  473. Text="{Binding Configuration.RangeLeft, StringFormat=\{0:0.00\}}" />
  474. </StackPanel>
  475. </StackPanel>
  476. </StackPanel>
  477. </StackPanel>
  478. </Border>
  479. <!-- Left DPad -->
  480. <Border
  481. Grid.Row="2"
  482. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  483. BorderThickness="1"
  484. VerticalAlignment="Top"
  485. IsVisible="{Binding IsLeft}">
  486. <StackPanel Margin="10" Orientation="Vertical">
  487. <TextBlock
  488. Margin="0,0,0,10"
  489. HorizontalAlignment="Center"
  490. Text="{locale:Locale ControllerSettingsDPad}" />
  491. <StackPanel Orientation="Vertical">
  492. <!-- Left DPad Up -->
  493. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  494. <TextBlock
  495. Margin="0,0,10,0"
  496. Width="120"
  497. HorizontalAlignment="Center"
  498. VerticalAlignment="Center"
  499. Text="{locale:Locale ControllerSettingsDPadUp}"
  500. TextAlignment="Center" />
  501. <ToggleButton
  502. Width="90"
  503. Height="27"
  504. HorizontalAlignment="Stretch">
  505. <TextBlock
  506. Text="{Binding Configuration.DpadUp, Mode=TwoWay, Converter={StaticResource Key}}"
  507. TextAlignment="Center" />
  508. </ToggleButton>
  509. </StackPanel>
  510. <!-- Left DPad Down -->
  511. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  512. <TextBlock
  513. Margin="0,0,10,0"
  514. Width="120"
  515. HorizontalAlignment="Center"
  516. VerticalAlignment="Center"
  517. Text="{locale:Locale ControllerSettingsDPadDown}"
  518. TextAlignment="Center" />
  519. <ToggleButton
  520. Width="90"
  521. Height="27"
  522. HorizontalAlignment="Stretch">
  523. <TextBlock
  524. Text="{Binding Configuration.DpadDown, Mode=TwoWay, Converter={StaticResource Key}}"
  525. TextAlignment="Center" />
  526. </ToggleButton>
  527. </StackPanel>
  528. <!-- Left DPad Left -->
  529. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  530. <TextBlock
  531. Margin="0,0,10,0"
  532. Width="120"
  533. HorizontalAlignment="Center"
  534. VerticalAlignment="Center"
  535. Text="{locale:Locale ControllerSettingsDPadLeft}"
  536. TextAlignment="Center" />
  537. <ToggleButton
  538. Width="90"
  539. Height="27"
  540. HorizontalAlignment="Stretch">
  541. <TextBlock
  542. Text="{Binding Configuration.DpadLeft, Mode=TwoWay, Converter={StaticResource Key}}"
  543. TextAlignment="Center" />
  544. </ToggleButton>
  545. </StackPanel>
  546. <!-- Left DPad Right -->
  547. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  548. <TextBlock
  549. Margin="0,0,10,0"
  550. Width="120"
  551. HorizontalAlignment="Center"
  552. VerticalAlignment="Center"
  553. Text="{locale:Locale ControllerSettingsDPadRight}"
  554. TextAlignment="Center" />
  555. <ToggleButton
  556. Width="90"
  557. Height="27"
  558. HorizontalAlignment="Stretch">
  559. <TextBlock
  560. Text="{Binding Configuration.DpadRight, Mode=TwoWay, Converter={StaticResource Key}}"
  561. TextAlignment="Center" />
  562. </ToggleButton>
  563. </StackPanel>
  564. </StackPanel>
  565. </StackPanel>
  566. </Border>
  567. </Grid>
  568. <!-- Triggers And Side Buttons-->
  569. <StackPanel Grid.Column="1" HorizontalAlignment="Stretch">
  570. <Border
  571. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  572. BorderThickness="1">
  573. <StackPanel Margin="10" Orientation="Vertical">
  574. <TextBlock HorizontalAlignment="Center" Text="{locale:Locale ControllerSettingsTriggerThreshold}" />
  575. <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
  576. <Slider
  577. Width="130"
  578. Maximum="1"
  579. TickFrequency="0.01"
  580. IsSnapToTickEnabled="True"
  581. Minimum="0"
  582. Value="{Binding Configuration.TriggerThreshold, Mode=TwoWay}" />
  583. <TextBlock Text="{Binding Configuration.TriggerThreshold, StringFormat=\{0:0.00\}}" />
  584. </StackPanel>
  585. <StackPanel
  586. Margin="0,4,0,0"
  587. HorizontalAlignment="Center"
  588. VerticalAlignment="Center"
  589. Background="{DynamicResource ThemeDarkColor}"
  590. IsVisible="{Binding !IsRight}"
  591. Orientation="Horizontal">
  592. <TextBlock
  593. Width="20"
  594. HorizontalAlignment="Center"
  595. VerticalAlignment="Center"
  596. Text="{locale:Locale ControllerSettingsLeftSR}"
  597. TextAlignment="Center" />
  598. <ToggleButton
  599. Width="90"
  600. Height="27"
  601. HorizontalAlignment="Stretch">
  602. <TextBlock
  603. Text="{Binding Configuration.LeftButtonSr, Mode=TwoWay, Converter={StaticResource Key}}"
  604. TextAlignment="Center" />
  605. </ToggleButton>
  606. </StackPanel>
  607. <StackPanel
  608. Margin="0,4,0,0"
  609. HorizontalAlignment="Center"
  610. VerticalAlignment="Center"
  611. IsVisible="{Binding !IsRight}"
  612. Background="{DynamicResource ThemeDarkColor}"
  613. Orientation="Horizontal">
  614. <TextBlock
  615. Width="20"
  616. HorizontalAlignment="Center"
  617. VerticalAlignment="Center"
  618. Text="{locale:Locale ControllerSettingsRightSL}"
  619. TextAlignment="Center" />
  620. <ToggleButton
  621. Width="90"
  622. Height="27"
  623. HorizontalAlignment="Stretch">
  624. <TextBlock
  625. Text="{Binding Configuration.RightButtonSl, Mode=TwoWay, Converter={StaticResource Key}}"
  626. TextAlignment="Center" />
  627. </ToggleButton>
  628. </StackPanel>
  629. <StackPanel
  630. Margin="0,4,0,0"
  631. HorizontalAlignment="Center"
  632. VerticalAlignment="Center"
  633. IsVisible="{Binding !IsLeft}"
  634. Background="{DynamicResource ThemeDarkColor}"
  635. Orientation="Horizontal">
  636. <TextBlock
  637. Width="20"
  638. HorizontalAlignment="Center"
  639. VerticalAlignment="Center"
  640. Text="{locale:Locale ControllerSettingsRightSR}"
  641. TextAlignment="Center" />
  642. <ToggleButton
  643. Width="90"
  644. Height="27"
  645. HorizontalAlignment="Stretch">
  646. <TextBlock
  647. Text="{Binding Configuration.RightButtonSr, Mode=TwoWay, Converter={StaticResource Key}}"
  648. TextAlignment="Center" />
  649. </ToggleButton>
  650. </StackPanel>
  651. <StackPanel
  652. Margin="0,4,0,0"
  653. HorizontalAlignment="Center"
  654. VerticalAlignment="Center"
  655. IsVisible="{Binding !IsLeft}"
  656. Background="{DynamicResource ThemeDarkColor}"
  657. Orientation="Horizontal">
  658. <TextBlock
  659. Width="20"
  660. HorizontalAlignment="Center"
  661. VerticalAlignment="Center"
  662. Text="{locale:Locale ControllerSettingsRightSL}"
  663. TextAlignment="Center" />
  664. <ToggleButton
  665. Width="90"
  666. Height="27"
  667. HorizontalAlignment="Stretch">
  668. <TextBlock
  669. Text="{Binding Configuration.RightButtonSl, Mode=TwoWay, Converter={StaticResource Key}}"
  670. TextAlignment="Center" />
  671. </ToggleButton>
  672. </StackPanel>
  673. </StackPanel>
  674. </Border>
  675. <!-- Controller Picture -->
  676. <Image
  677. Margin="0,10,0,0"
  678. MaxHeight="250"
  679. HorizontalAlignment="Stretch"
  680. VerticalAlignment="Top"
  681. Source="{Binding Image}" />
  682. <!-- Motion+Rumble -->
  683. <StackPanel Margin="0,10,0,0" Orientation="Vertical" >
  684. <Border
  685. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  686. BorderThickness="1"
  687. HorizontalAlignment="Stretch"
  688. IsVisible="{Binding IsController}">
  689. <Grid>
  690. <Grid.ColumnDefinitions>
  691. <ColumnDefinition Width="*" />
  692. <ColumnDefinition Width="Auto" />
  693. </Grid.ColumnDefinitions>
  694. <CheckBox
  695. Margin="10"
  696. MinWidth="0"
  697. Grid.Column="0"
  698. IsChecked="{Binding Configuration.EnableMotion, Mode=TwoWay}">
  699. <TextBlock Text="{locale:Locale ControllerSettingsMotion}" TextWrapping="WrapWithOverflow" />
  700. </CheckBox>
  701. <Button Margin="10" Grid.Column="1" Command="{Binding ShowMotionConfig}">
  702. <TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
  703. </Button>
  704. </Grid>
  705. </Border>
  706. <Border
  707. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  708. BorderThickness="1"
  709. HorizontalAlignment="Stretch"
  710. IsVisible="{Binding IsController}">
  711. <Grid>
  712. <Grid.ColumnDefinitions>
  713. <ColumnDefinition Width="*" />
  714. <ColumnDefinition Width="Auto" />
  715. </Grid.ColumnDefinitions>
  716. <CheckBox
  717. Margin="10"
  718. MinWidth="0"
  719. Grid.Column="0"
  720. IsChecked="{Binding Configuration.EnableRumble, Mode=TwoWay}">
  721. <TextBlock Text="{locale:Locale ControllerSettingsRumble}" TextWrapping="WrapWithOverflow" />
  722. </CheckBox>
  723. <Button Margin="10" Grid.Column="1" Command="{Binding ShowRumbleConfig}">
  724. <TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
  725. </Button>
  726. </Grid>
  727. </Border>
  728. </StackPanel>
  729. </StackPanel>
  730. <!--Right Controls-->
  731. <Grid
  732. Margin="10,0,0,0"
  733. Grid.Column="2"
  734. VerticalAlignment="Top"
  735. HorizontalAlignment="Stretch" >
  736. <Grid.RowDefinitions>
  737. <RowDefinition />
  738. <RowDefinition />
  739. <RowDefinition />
  740. <RowDefinition />
  741. </Grid.RowDefinitions>
  742. <Border
  743. Grid.Row="0"
  744. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  745. BorderThickness="1"
  746. IsVisible="{Binding IsRight}">
  747. <StackPanel Margin="10" Orientation="Vertical">
  748. <Grid HorizontalAlignment="Stretch">
  749. <Grid.ColumnDefinitions>
  750. <ColumnDefinition />
  751. <ColumnDefinition />
  752. </Grid.ColumnDefinitions>
  753. <Grid.RowDefinitions>
  754. <RowDefinition />
  755. <RowDefinition />
  756. </Grid.RowDefinitions>
  757. <StackPanel
  758. Margin="0,0,0,4"
  759. Grid.Column="1"
  760. Grid.Row="0"
  761. HorizontalAlignment="Center"
  762. VerticalAlignment="Center"
  763. Background="{DynamicResource ThemeDarkColor}"
  764. Orientation="Horizontal">
  765. <TextBlock
  766. Width="20"
  767. HorizontalAlignment="Center"
  768. VerticalAlignment="Center"
  769. Text="{locale:Locale ControllerSettingsTriggerZR}"
  770. TextAlignment="Center" />
  771. <ToggleButton
  772. Width="90"
  773. Height="27"
  774. HorizontalAlignment="Stretch">
  775. <TextBlock
  776. Text="{Binding Configuration.ButtonZr, Mode=TwoWay, Converter={StaticResource Key}}"
  777. TextAlignment="Center" />
  778. </ToggleButton>
  779. </StackPanel>
  780. <StackPanel
  781. Grid.Column="1"
  782. Grid.Row="1"
  783. HorizontalAlignment="Center"
  784. VerticalAlignment="Center"
  785. Background="{DynamicResource ThemeDarkColor}"
  786. Orientation="Horizontal">
  787. <TextBlock
  788. Width="20"
  789. HorizontalAlignment="Center"
  790. VerticalAlignment="Center"
  791. Text="{locale:Locale ControllerSettingsTriggerR}"
  792. TextAlignment="Center" />
  793. <ToggleButton
  794. Width="90"
  795. Height="27"
  796. HorizontalAlignment="Stretch">
  797. <TextBlock
  798. Text="{Binding Configuration.ButtonR, Mode=TwoWay, Converter={StaticResource Key}}"
  799. TextAlignment="Center" />
  800. </ToggleButton>
  801. </StackPanel>
  802. <StackPanel
  803. Margin="0,0,0,4"
  804. Grid.Column="0"
  805. Grid.Row="0"
  806. HorizontalAlignment="Right"
  807. VerticalAlignment="Center"
  808. Background="{DynamicResource ThemeDarkColor}"
  809. Orientation="Horizontal">
  810. <TextBlock
  811. Width="20"
  812. HorizontalAlignment="Center"
  813. VerticalAlignment="Center"
  814. Text="{locale:Locale ControllerSettingsButtonPlus}"
  815. TextAlignment="Center" />
  816. <ToggleButton
  817. Width="90"
  818. Height="27"
  819. HorizontalAlignment="Stretch">
  820. <TextBlock
  821. Text="{Binding Configuration.ButtonPlus, Mode=TwoWay, Converter={StaticResource Key}}"
  822. TextAlignment="Center" />
  823. </ToggleButton>
  824. </StackPanel>
  825. </Grid>
  826. </StackPanel>
  827. </Border>
  828. <Border
  829. Grid.Row="1"
  830. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  831. BorderThickness="1"
  832. IsVisible="{Binding IsRight}">
  833. <StackPanel Margin="10" Orientation="Vertical">
  834. <TextBlock
  835. Margin="0,0,0,10"
  836. HorizontalAlignment="Center"
  837. Text="{locale:Locale ControllerSettingsButtons}" />
  838. <Grid HorizontalAlignment="Stretch">
  839. <Grid.ColumnDefinitions>
  840. <ColumnDefinition />
  841. <ColumnDefinition />
  842. </Grid.ColumnDefinitions>
  843. <Grid.RowDefinitions>
  844. <RowDefinition />
  845. <RowDefinition />
  846. </Grid.RowDefinitions>
  847. <!-- Right Buttons X -->
  848. <StackPanel
  849. Margin="0,0,0,4"
  850. Grid.Column="0"
  851. Grid.Row="0"
  852. Background="{DynamicResource ThemeDarkColor}"
  853. Orientation="Horizontal">
  854. <TextBlock
  855. Width="20"
  856. HorizontalAlignment="Center"
  857. VerticalAlignment="Center"
  858. Text="{locale:Locale ControllerSettingsButtonX}"
  859. TextAlignment="Center" />
  860. <ToggleButton
  861. Width="90"
  862. Height="27"
  863. HorizontalAlignment="Stretch">
  864. <TextBlock
  865. Text="{Binding Configuration.ButtonX, Mode=TwoWay, Converter={StaticResource Key}}"
  866. TextAlignment="Center" />
  867. </ToggleButton>
  868. </StackPanel>
  869. <!-- Right Buttons Y -->
  870. <StackPanel
  871. Grid.Column="0"
  872. Grid.Row="1"
  873. Background="{DynamicResource ThemeDarkColor}"
  874. Orientation="Horizontal">
  875. <TextBlock
  876. Width="20"
  877. HorizontalAlignment="Center"
  878. VerticalAlignment="Center"
  879. Text="{locale:Locale ControllerSettingsButtonY}"
  880. TextAlignment="Center" />
  881. <ToggleButton
  882. Width="90"
  883. Height="27"
  884. HorizontalAlignment="Stretch">
  885. <TextBlock
  886. Text="{Binding Configuration.ButtonY, Mode=TwoWay, Converter={StaticResource Key}}"
  887. TextAlignment="Center" />
  888. </ToggleButton>
  889. </StackPanel>
  890. <!-- Right Buttons A -->
  891. <StackPanel
  892. Margin="0,0,0,4"
  893. Grid.Column="1"
  894. Grid.Row="0"
  895. Background="{DynamicResource ThemeDarkColor}"
  896. Orientation="Horizontal">
  897. <TextBlock
  898. Width="20"
  899. HorizontalAlignment="Center"
  900. VerticalAlignment="Center"
  901. Text="{locale:Locale ControllerSettingsButtonA}"
  902. TextAlignment="Center" />
  903. <ToggleButton
  904. Width="90"
  905. Height="27"
  906. HorizontalAlignment="Stretch">
  907. <TextBlock
  908. Text="{Binding Configuration.ButtonA, Mode=TwoWay, Converter={StaticResource Key}}"
  909. TextAlignment="Center" />
  910. </ToggleButton>
  911. </StackPanel>
  912. <!-- Right Buttons B -->
  913. <StackPanel
  914. Grid.Column="1"
  915. Grid.Row="1"
  916. Background="{DynamicResource ThemeDarkColor}"
  917. Orientation="Horizontal">
  918. <TextBlock
  919. Width="20"
  920. HorizontalAlignment="Center"
  921. VerticalAlignment="Center"
  922. Text="{locale:Locale ControllerSettingsButtonB}"
  923. TextAlignment="Center" />
  924. <ToggleButton
  925. Width="90"
  926. Height="27"
  927. HorizontalAlignment="Stretch">
  928. <TextBlock
  929. Text="{Binding Configuration.ButtonB, Mode=TwoWay, Converter={StaticResource Key}}"
  930. TextAlignment="Center" />
  931. </ToggleButton>
  932. </StackPanel>
  933. </Grid>
  934. </StackPanel>
  935. </Border>
  936. <Border
  937. Grid.Row="2"
  938. Margin="2,0,2,2"
  939. Padding="10"
  940. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  941. BorderThickness="1"
  942. IsVisible="{Binding IsRight}">
  943. <StackPanel Orientation="Vertical">
  944. <TextBlock
  945. Margin="0,0,0,10"
  946. HorizontalAlignment="Center"
  947. Text="{locale:Locale ControllerSettingsRStick}" />
  948. <!-- Right Joystick Keyboard -->
  949. <StackPanel IsVisible="{Binding !IsController}" Orientation="Vertical">
  950. <!-- Right Joystick Button -->
  951. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  952. <TextBlock
  953. Margin="0,0,10,0"
  954. Width="120"
  955. HorizontalAlignment="Center"
  956. VerticalAlignment="Center"
  957. Text="{locale:Locale ControllerSettingsRStickButton}"
  958. TextAlignment="Center" />
  959. <ToggleButton
  960. Width="90"
  961. Height="27"
  962. HorizontalAlignment="Stretch">
  963. <TextBlock
  964. Text="{Binding Configuration.RightKeyboardStickButton, Mode=TwoWay, Converter={StaticResource Key}}"
  965. TextAlignment="Center" />
  966. </ToggleButton>
  967. </StackPanel>
  968. <!-- Right Joystick Up -->
  969. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  970. <TextBlock
  971. Margin="0,0,10,0"
  972. Width="120"
  973. HorizontalAlignment="Center"
  974. VerticalAlignment="Center"
  975. Text="{locale:Locale ControllerSettingsRStickUp}"
  976. TextAlignment="Center" />
  977. <ToggleButton
  978. Width="90"
  979. Height="27"
  980. HorizontalAlignment="Stretch">
  981. <TextBlock
  982. Text="{Binding Configuration.RightStickUp, Mode=TwoWay, Converter={StaticResource Key}}"
  983. TextAlignment="Center" />
  984. </ToggleButton>
  985. </StackPanel>
  986. <!-- Right Joystick Down -->
  987. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  988. <TextBlock
  989. Margin="0,0,10,0"
  990. Width="120"
  991. HorizontalAlignment="Center"
  992. VerticalAlignment="Center"
  993. Text="{locale:Locale ControllerSettingsRStickDown}"
  994. TextAlignment="Center" />
  995. <ToggleButton
  996. Width="90"
  997. Height="27"
  998. HorizontalAlignment="Stretch">
  999. <TextBlock
  1000. Text="{Binding Configuration.RightStickDown, Mode=TwoWay, Converter={StaticResource Key}}"
  1001. TextAlignment="Center" />
  1002. </ToggleButton>
  1003. </StackPanel>
  1004. <!-- Right Joystick Left -->
  1005. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  1006. <TextBlock
  1007. Margin="0,0,10,0"
  1008. Width="120"
  1009. HorizontalAlignment="Center"
  1010. VerticalAlignment="Center"
  1011. Text="{locale:Locale ControllerSettingsRStickLeft}"
  1012. TextAlignment="Center" />
  1013. <ToggleButton
  1014. Width="90"
  1015. Height="27"
  1016. HorizontalAlignment="Stretch">
  1017. <TextBlock
  1018. Text="{Binding Configuration.RightStickLeft, Mode=TwoWay, Converter={StaticResource Key}}"
  1019. TextAlignment="Center" />
  1020. </ToggleButton>
  1021. </StackPanel>
  1022. <!-- Right Joystick Right -->
  1023. <StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  1024. <TextBlock
  1025. Margin="0,0,10,0"
  1026. Width="120"
  1027. HorizontalAlignment="Center"
  1028. VerticalAlignment="Center"
  1029. Text="{locale:Locale ControllerSettingsRStickRight}"
  1030. TextAlignment="Center" />
  1031. <ToggleButton
  1032. Width="90"
  1033. Height="27"
  1034. HorizontalAlignment="Stretch">
  1035. <TextBlock
  1036. Text="{Binding Configuration.RightStickRight, Mode=TwoWay, Converter={StaticResource Key}}"
  1037. TextAlignment="Center" />
  1038. </ToggleButton>
  1039. </StackPanel>
  1040. </StackPanel>
  1041. <!-- Right Joystick Controller -->
  1042. <StackPanel IsVisible="{Binding IsController}" Orientation="Vertical">
  1043. <!-- Right Joystick Button -->
  1044. <StackPanel Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  1045. <TextBlock
  1046. Margin="0,0,10,0"
  1047. Width="120"
  1048. HorizontalAlignment="Center"
  1049. VerticalAlignment="Center"
  1050. Text="{locale:Locale ControllerSettingsRStickButton}"
  1051. TextAlignment="Center" />
  1052. <ToggleButton
  1053. Width="90"
  1054. Height="27"
  1055. HorizontalAlignment="Stretch">
  1056. <TextBlock
  1057. Text="{Binding Configuration.RightControllerStickButton, Mode=TwoWay, Converter={StaticResource Key}}"
  1058. TextAlignment="Center" />
  1059. </ToggleButton>
  1060. </StackPanel>
  1061. <!-- Right Joystick Stick -->
  1062. <StackPanel Margin="0,4,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
  1063. <TextBlock
  1064. Margin="0,0,10,0"
  1065. Width="120"
  1066. HorizontalAlignment="Center"
  1067. VerticalAlignment="Center"
  1068. Text="{locale:Locale ControllerSettingsRStickStick}"
  1069. TextAlignment="Center" />
  1070. <ToggleButton
  1071. Width="90"
  1072. Height="27"
  1073. HorizontalAlignment="Stretch"
  1074. Tag="stick">
  1075. <TextBlock
  1076. Text="{Binding Configuration.RightJoystick, Mode=TwoWay, Converter={StaticResource Key}}"
  1077. TextAlignment="Center" />
  1078. </ToggleButton>
  1079. </StackPanel>
  1080. <CheckBox IsChecked="{Binding Configuration.RightInvertStickX}">
  1081. <TextBlock Text="{locale:Locale ControllerSettingsRStickInvertXAxis}" />
  1082. </CheckBox>
  1083. <CheckBox IsChecked="{Binding Configuration.RightInvertStickY}">
  1084. <TextBlock Text="{locale:Locale ControllerSettingsRStickInvertYAxis}" />
  1085. </CheckBox>
  1086. <CheckBox IsChecked="{Binding Configuration.RightRotate90}">
  1087. <TextBlock Text="{locale:Locale ControllerSettingsRotate90}" />
  1088. </CheckBox>
  1089. <Separator Margin="0,4,0,4" Height="1" />
  1090. <StackPanel Orientation="Vertical">
  1091. <TextBlock Text="{locale:Locale ControllerSettingsRStickDeadzone}" />
  1092. <StackPanel
  1093. HorizontalAlignment="Center"
  1094. VerticalAlignment="Center"
  1095. Orientation="Horizontal">
  1096. <Slider
  1097. Width="130"
  1098. Maximum="1"
  1099. TickFrequency="0.01"
  1100. IsSnapToTickEnabled="True"
  1101. Padding="0"
  1102. VerticalAlignment="Center"
  1103. Minimum="0"
  1104. Value="{Binding Configuration.DeadzoneRight, Mode=TwoWay}" />
  1105. <TextBlock
  1106. VerticalAlignment="Center"
  1107. Text="{Binding Configuration.DeadzoneRight, StringFormat=\{0:0.00\}}" />
  1108. </StackPanel>
  1109. <TextBlock Text="{locale:Locale ControllerSettingsStickRange}" />
  1110. <StackPanel
  1111. HorizontalAlignment="Center"
  1112. VerticalAlignment="Center"
  1113. Orientation="Horizontal">
  1114. <Slider
  1115. Width="130"
  1116. Maximum="2"
  1117. TickFrequency="0.01"
  1118. IsSnapToTickEnabled="True"
  1119. Minimum="0"
  1120. Value="{Binding Configuration.RangeRight, Mode=TwoWay}" />
  1121. <TextBlock
  1122. VerticalAlignment="Center"
  1123. Text="{Binding Configuration.RangeRight, StringFormat=\{0:0.00\}}" />
  1124. </StackPanel>
  1125. </StackPanel>
  1126. </StackPanel>
  1127. </StackPanel>
  1128. </Border>
  1129. </Grid>
  1130. </Grid>
  1131. </StackPanel>
  1132. </UserControl>