Home.xaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. <Window x:Class="Muchinfo.MTPClient.UI.Views.Home"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:OrderView="clr-namespace:Muchinfo.MTPClient.Trade.Views;assembly=Muchinfo.MTPClient.Trade"
  5. xmlns:button="clr-namespace:Muchinfo.WPF.Controls.Button;assembly=Muchinfo.WPF.Controls"
  6. xmlns:command="http://www.galasoft.ch/mvvmlight"
  7. xmlns:data="clr-namespace:Muchinfo.MTPClient.Data;assembly=Muchinfo.MTPClient.Data"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:resource="clr-namespace:Muchinfo.MTPClient.Resources;assembly=Muchinfo.MTPClient.Resources"
  10. xmlns:views="clr-namespace:Muchinfo.MTPClient.UI.Views"
  11. xmlns:views1="clr-namespace:Muchinfo.MTPClient.Account.Views;assembly=Muchinfo.MTPClient.Account"
  12. x:Name="HomeView"
  13. Title="{Binding SystemName}"
  14. Icon="{DynamicResource WindowIconImageSource}"
  15. Style="{DynamicResource NoBorderWindow}"
  16. WindowStartupLocation="CenterScreen"
  17. WindowState="Maximized">
  18. <Window.Resources>
  19. <BooleanToVisibilityConverter x:Key="ToVisibilityConverter" />
  20. <HierarchicalDataTemplate DataType="{x:Type data:SysMenuItem}" ItemsSource="{Binding Children}">
  21. <TextBlock MinWidth="30"
  22. Foreground="{DynamicResource MuchinfoBrush10}"
  23. Padding="3"
  24. Text="{Binding Title}" />
  25. <HierarchicalDataTemplate.ItemContainerStyle>
  26. <Style TargetType="{x:Type MenuItem}">
  27. <Setter Property="Command" Value="{Binding Home.MenuCommand, Source={StaticResource Locator}}" />
  28. <Setter Property="CommandParameter" Value="{Binding}" />
  29. <Setter Property="IsCheckable" Value="{Binding IsCheckable}" />
  30. <Setter Property="IsChecked" Value="{Binding IsChecked, Mode=TwoWay}" />
  31. <Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
  32. <Setter Property="Background" Value="{DynamicResource MuchinfoBrush38}" />
  33. <Setter Property="HorizontalContentAlignment" Value="Left" />
  34. <Setter Property="VerticalContentAlignment" Value="Center" />
  35. <Setter Property="BorderBrush" Value="{DynamicResource MuchinfoBrush39}" />
  36. <Setter Property="BorderThickness" Value="0,0,0,1" />
  37. <Setter Property="Foreground" Value="{DynamicResource MuchinfoBrush10}" />
  38. <Setter Property="Template" Value="{DynamicResource CommonMenuItemTemplate}" />
  39. </Style>
  40. </HierarchicalDataTemplate.ItemContainerStyle>
  41. </HierarchicalDataTemplate>
  42. </Window.Resources>
  43. <Window.DataContext>
  44. <Binding Path="Home" Source="{StaticResource Locator}" />
  45. </Window.DataContext>
  46. <i:Interaction.Triggers>
  47. <i:EventTrigger EventName="Loaded">
  48. <command:EventToCommand Command="{Binding ViewLoadedCommand}" CommandParameter="{Binding ElementName=HomeView}" />
  49. </i:EventTrigger>
  50. </i:Interaction.Triggers>
  51. <Border Background="{DynamicResource MuchinfoBrush100}">
  52. <Grid>
  53. <Grid.RowDefinitions>
  54. <RowDefinition Height="2" />
  55. <RowDefinition Height="*" />
  56. <RowDefinition Height="2" />
  57. </Grid.RowDefinitions>
  58. <Grid.ColumnDefinitions>
  59. <ColumnDefinition Width="2" />
  60. <ColumnDefinition Width="*" />
  61. <ColumnDefinition Width="2" />
  62. </Grid.ColumnDefinitions>
  63. <Grid x:Name="LayoutGird"
  64. Grid.RowSpan="3"
  65. Grid.ColumnSpan="3">
  66. <Grid.RowDefinitions>
  67. <RowDefinition Height="34" />
  68. <RowDefinition Height="Auto" />
  69. <RowDefinition Height="Auto" />
  70. <RowDefinition Height="Auto" />
  71. <RowDefinition Height="Auto" />
  72. <RowDefinition Height="Auto" />
  73. <RowDefinition Height="5*" />
  74. <RowDefinition Height="2*" />
  75. <RowDefinition Height="Auto" />
  76. </Grid.RowDefinitions>
  77. <Grid.ColumnDefinitions>
  78. <ColumnDefinition Width="Auto" />
  79. <ColumnDefinition Width="*" />
  80. </Grid.ColumnDefinitions>
  81. <Border x:Name="TreeBorder"
  82. Grid.Row="3"
  83. Grid.RowSpan="5"
  84. Margin="0,0,0,4"
  85. Visibility="{Binding OrderTransactionVisibility,
  86. Mode=TwoWay}">
  87. <views:SystemMenuTree />
  88. </Border>
  89. <!-- 菜单栏 -->
  90. <Grid x:Name="MenuBarGrid"
  91. Grid.Row="0"
  92. Grid.ColumnSpan="2"
  93. Background="{DynamicResource WindowHeadBrush}"
  94. MouseDown="Window_MouseDown">
  95. <Grid.ColumnDefinitions>
  96. <ColumnDefinition Width="0.8*" />
  97. <ColumnDefinition Width="2.2*" />
  98. <ColumnDefinition Width="auto" />
  99. <ColumnDefinition Width="8" />
  100. </Grid.ColumnDefinitions>
  101. <!--
  102. <StackPanel Grid.Column="0"
  103. HorizontalAlignment="Left"
  104. VerticalAlignment="Center"
  105. Orientation="Horizontal"
  106. Visibility="{Binding ListingAndMallVisibility,
  107. Mode=TwoWay}">
  108. <Grid DataContext="{Binding CurrentTradeAccount}">
  109. <Grid.ColumnDefinitions>
  110. <ColumnDefinition Width="*" />
  111. <ColumnDefinition Width="2*" />
  112. </Grid.ColumnDefinitions>
  113. <TextBlock Margin="10,0,0,0" Foreground="{DynamicResource MuchinfoBrush96}">
  114. <Run Text="{Binding CustomerName, Mode=OneWay}" />
  115. </TextBlock>
  116. <TextBlock Grid.Column="1"
  117. Margin="10,0,0,0"
  118. Foreground="{DynamicResource MuchinfoBrush97}">
  119. <Run Text="{x:Static resource:Muchinfo_Resource.Moduel_AccountLogin}" />
  120. <Run Text="{Binding LoginCode, Mode=OneWay}" />
  121. </TextBlock>
  122. </Grid>
  123. </StackPanel>
  124. -->
  125. <Grid Grid.Row="0"
  126. VerticalAlignment="Center"
  127. Visibility="{Binding OrderTransactionLockVisibility,
  128. Mode=TwoWay}">
  129. <Grid.ColumnDefinitions>
  130. <ColumnDefinition Width="Auto" />
  131. <ColumnDefinition Width="Auto" />
  132. <ColumnDefinition Width="*" />
  133. <ColumnDefinition Width="Auto" />
  134. </Grid.ColumnDefinitions>
  135. <Image Grid.Column="0"
  136. Width="21"
  137. Height="21"
  138. Margin="10,0"
  139. Source="{DynamicResource WindowIconImageSource}" />
  140. <Menu Grid.Column="1"
  141. Background="Transparent"
  142. ItemsSource="{Binding MainMenuItems}" />
  143. </Grid>
  144. <StackPanel Grid.Column="1"
  145. HorizontalAlignment="Left"
  146. VerticalAlignment="Center"
  147. Orientation="Horizontal">
  148. <TextBlock Margin="250,0,0,0"
  149. FontSize="14"
  150. FontWeight="Bold"
  151. Foreground="{DynamicResource MuchinfoBrush12}"
  152. Text="{Binding SystemName}"
  153. TextAlignment="Center" />
  154. <TextBlock FontSize="14"
  155. FontWeight="Bold"
  156. Foreground="{DynamicResource MuchinfoBrush12}"
  157. Text="{Binding TradeTypeDisplay}"
  158. TextAlignment="Center" />
  159. </StackPanel>
  160. <StackPanel Grid.Column="2"
  161. Margin="0,5,0,1"
  162. VerticalAlignment="Top"
  163. Orientation="Horizontal">
  164. <RadioButton x:Name="OrderTransaction"
  165. Command="{Binding OrderTransactionCommand}"
  166. CommandParameter="0"
  167. Content="{x:Static resource:Muchinfo_Resource.OrderTranstion}"
  168. GroupName="group1"
  169. IsChecked="True"
  170. Style="{DynamicResource LeftToggleButtonStyel}"
  171. Visibility="{Binding OrderTransactionButtonVisibility,
  172. Mode=TwoWay}" />
  173. <RadioButton x:Name="ListButton"
  174. Click="ListButton_OnClick"
  175. Command="{Binding OrderTransactionCommand}"
  176. CommandParameter="1"
  177. Content="{x:Static resource:Muchinfo_Resource.Listing}"
  178. GroupName="group1"
  179. Style="{DynamicResource LeftToggleButtonStyel}"
  180. Visibility="{Binding ListingButtonVisibility,
  181. Mode=TwoWay}" />
  182. <RadioButton x:Name="MallButton"
  183. Margin="0,0,20,0"
  184. Command="{Binding OrderTransactionCommand}"
  185. CommandParameter="2"
  186. Content="{x:Static resource:Muchinfo_Resource.Mall}"
  187. GroupName="group2"
  188. Style="{DynamicResource LeftToggleButtonStyel}"
  189. Visibility="{Binding MallButtonVisibility,
  190. Mode=TwoWay}" />
  191. <button:ImageButton Click="WinMin_OnClick"
  192. ImageHeight="24"
  193. ImageWidth="28"
  194. Style="{DynamicResource WindowMinImageStyle}" />
  195. <button:ImageButton x:Name="MaxImageButton"
  196. Click="WinMax_OnClick"
  197. ImageHeight="24"
  198. ImageWidth="28"
  199. Style="{DynamicResource WindowMaxImageStyle}" />
  200. <button:ImageButton Click="WinClose_OnClick"
  201. ImageHeight="24"
  202. ImageWidth="42"
  203. Style="{DynamicResource WindowCloseImageStyle}" />
  204. </StackPanel>
  205. </Grid>
  206. <!-- 工具栏 -->
  207. <!--
  208. <Separator Grid.Row="1"
  209. Style="{DynamicResource ThinSeparatorStyle}"
  210. Visibility="{Binding ToolbarVisibility}" />
  211. <StackPanel Grid.Row="2"
  212. Background="{DynamicResource MuchinfoBrush2}"
  213. Orientation="Horizontal"
  214. Visibility="{Binding ToolbarVisibility}">
  215. <views:ToolbarList Height="40" VerticalAlignment="Center" />
  216. </StackPanel>
  217. -->
  218. <!-- 画线工具 -->
  219. <!--
  220. <Separator Grid.Row="3"
  221. BorderThickness="0"
  222. Style="{DynamicResource ThinSeparatorStyle}" />
  223. <StackPanel x:Name="DrawingToolBar"
  224. Grid.Row="4"
  225. Background="{DynamicResource MuchinfoBrush2}"
  226. Orientation="Horizontal" />
  227. -->
  228. <!-- 分隔线 -->
  229. <!-- <Separator Grid.Row="5" Style="{DynamicResource ThinSeparatorStyle}" /> -->
  230. <Border x:Name="HomeHeadBorder"
  231. Grid.Row="2"
  232. Grid.ColumnSpan="2"
  233. Background="{DynamicResource MuchinfoBrush75}"
  234. Visibility="{Binding OrderTransactionVisibility,
  235. Mode=TwoWay}">
  236. <views1:TradeHeaderView Margin="3,5" />
  237. </Border>
  238. <Border Grid.Row="5"
  239. Grid.ColumnSpan="2"
  240. Height="2"
  241. Background="{DynamicResource MuchinfoBrush3}"
  242. BorderThickness="0"
  243. Visibility="{Binding OrderTransactionVisibility,
  244. Mode=TwoWay}" />
  245. <!-- 主窗体 -->
  246. <Border Grid.Row="6"
  247. Grid.Column="1"
  248. Margin="8,0"
  249. BorderBrush="{DynamicResource MuchinfoBrush67}"
  250. BorderThickness="4"
  251. Visibility="{Binding OrderTransactionVisibility,
  252. Mode=TwoWay}">
  253. <Grid>
  254. <Grid.ColumnDefinitions>
  255. <ColumnDefinition Width="Auto" />
  256. <ColumnDefinition Width="*" />
  257. </Grid.ColumnDefinitions>
  258. <Grid.RowDefinitions>
  259. <RowDefinition Height="Auto" />
  260. <RowDefinition Height="*" />
  261. </Grid.RowDefinitions>
  262. <!-- 快速下单接口 -->
  263. <Border Grid.Column="0"
  264. Grid.ColumnSpan="2"
  265. BorderBrush="{DynamicResource MuchinfoBrush67}"
  266. BorderThickness="0,0,0,2">
  267. <OrderView:QuickOrderBar />
  268. </Border>
  269. <Border Grid.Row="1"
  270. Grid.Column="0"
  271. Width="22"
  272. Height="32"
  273. Margin="0,0"
  274. VerticalAlignment="Top"
  275. Background="{DynamicResource MuchinfoBrush102}"
  276. Visibility="{Binding RadioButtonVisibility,
  277. Mode=TwoWay}" />
  278. <StackPanel Grid.Row="1"
  279. Grid.Column="0"
  280. Width="22"
  281. Margin="0,33"
  282. HorizontalAlignment="Left"
  283. Background="Transparent"
  284. Orientation="Vertical"
  285. ZIndex="100">
  286. <RadioButton x:Name="QuoteRadioButton"
  287. Margin="0,0,0,0"
  288. Command="{Binding TabClickCommand}"
  289. CommandParameter="0"
  290. Content="{x:Static resource:Muchinfo_Resource.UI2014_Views_Quotation}"
  291. IsChecked="False"
  292. Style="{DynamicResource TopToggleButtonStyel}" />
  293. <RadioButton x:Name="QuoteRadioButton2"
  294. Margin="0,0,0,0"
  295. Command="{Binding TabClickCommand}"
  296. CommandParameter="9"
  297. Content="{x:Static resource:Muchinfo_Resource.UI2014_Views_QuotationSenior}"
  298. IsChecked="True"
  299. Style="{DynamicResource TopToggleButtonStyel}" />
  300. <RadioButton x:Name="CandelstickRadioButton"
  301. Command="{Binding TabClickCommand}"
  302. CommandParameter="1"
  303. Content="{x:Static resource:Muchinfo_Resource.UI2014_Views_KCandleStickCharts}"
  304. Style="{DynamicResource TopToggleButtonStyel}"
  305. Visibility="{Binding IsShowChart,
  306. Converter={StaticResource ToVisibilityConverter}}" />
  307. <RadioButton x:Name="FinacingButton"
  308. Command="{Binding TabClickCommand}"
  309. CommandParameter="8"
  310. Content="{x:Static resource:Muchinfo_Resource.FinacingProducts}"
  311. Style="{DynamicResource TopToggleButtonStyel}"
  312. Visibility="Collapsed" />
  313. <!--
  314. Visibility="{Binding IsShowFinacing,
  315. Converter={StaticResource ToVisibilityConverter}}" />
  316. -->
  317. <!--
  318. <RadioButton x:Name="TimeSharingRadioButton"
  319. Command="{Binding TabClickCommand}"
  320. CommandParameter="2"
  321. Content="分时图"
  322. Style="{DynamicResource TopToggleButtonStyel}" />
  323. <RadioButton x:Name="TikRadioButton"
  324. Command="{Binding TabClickCommand}"
  325. CommandParameter="3"
  326. Content="实时图"
  327. Style="{DynamicResource TopToggleButtonStyel}" />
  328. <RadioButton x:Name="NewsRadioButton"
  329. Command="{Binding TabClickCommand}"
  330. CommandParameter="5"
  331. Content="新闻资讯"
  332. Style="{DynamicResource TopToggleButtonStyel}" />
  333. -->
  334. </StackPanel>
  335. <DockPanel x:Name="MainPanel"
  336. Grid.Row="1"
  337. Grid.Column="1">
  338. <!-- Background="{DynamicResource MuchinfoBrush2}" -->
  339. <TextBlock Foreground="{DynamicResource MuchinfoBrush10}" Text="{x:Static resource:Muchinfo_Resource.UI2014_Views_MarketList}" />
  340. </DockPanel>
  341. </Grid>
  342. </Border>
  343. <!-- 分隔线 -->
  344. <GridSplitter Grid.Row="6"
  345. Grid.Column="1"
  346. Height="5"
  347. Margin="8,0"
  348. HorizontalAlignment="Stretch"
  349. VerticalAlignment="Bottom"
  350. Background="Transparent"
  351. Visibility="{Binding OrderTransactionVisibility,
  352. Mode=TwoWay}" />
  353. <!-- 帐户窗体 -->
  354. <Grid x:Name="AccountPanel"
  355. Grid.Row="7"
  356. Grid.Column="1"
  357. Background="{DynamicResource MuchinfoBrush2}"
  358. Visibility="{Binding OrderTransactionVisibility,
  359. Mode=TwoWay}">
  360. <Border x:Name="OrderContent"
  361. Grid.Column="1"
  362. Margin="8,8,8,4"
  363. Background="{DynamicResource MuchinfoBrush5}"
  364. BorderBrush="{DynamicResource MuchinfoBrush67}"
  365. BorderThickness="4"
  366. CornerRadius="2">
  367. <ContentControl Content="{Binding QueryView}" />
  368. </Border>
  369. </Grid>
  370. <!-- 状态栏 -->
  371. <StackPanel Grid.Row="8"
  372. Grid.ColumnSpan="2"
  373. Orientation="Vertical"
  374. Visibility="{Binding StatusbarVisibility}">
  375. <!-- 分隔线 -->
  376. <Separator Style="{DynamicResource ThinSeparatorStyle}" />
  377. <views:StatusBarControl />
  378. </StackPanel>
  379. <GridSplitter Grid.Row="3"
  380. Grid.RowSpan="6"
  381. Grid.Column="1"
  382. Width="5"
  383. Margin="0,0"
  384. HorizontalAlignment="Left"
  385. VerticalAlignment="Stretch"
  386. Background="Transparent"
  387. Visibility="{Binding OrderTransactionVisibility,
  388. Mode=TwoWay}" />
  389. <Grid x:Name="LockSreenGrid"
  390. Grid.Row="1"
  391. Grid.RowSpan="8"
  392. Grid.Column="0"
  393. Grid.ColumnSpan="2"
  394. Visibility="{Binding MainPanelVisibility,
  395. Mode=TwoWay}">
  396. <Button Background="{DynamicResource LockScreenBrush}" BorderThickness="0" />
  397. </Grid>
  398. </Grid>
  399. <Rectangle x:Name="TopLeftBorder"
  400. Grid.Row="0"
  401. Grid.Column="0"
  402. Fill="{DynamicResource MuchinfoBrush2}" />
  403. <Rectangle x:Name="TopBorder"
  404. Grid.Row="0"
  405. Grid.Column="1"
  406. Fill="{DynamicResource MuchinfoBrush2}" />
  407. <Rectangle x:Name="TopRightBorder"
  408. Grid.Row="0"
  409. Grid.Column="2"
  410. Fill="{DynamicResource MuchinfoBrush2}" />
  411. <Rectangle x:Name="RightBorder"
  412. Grid.Row="1"
  413. Grid.Column="2"
  414. Fill="{DynamicResource MuchinfoBrush2}" />
  415. <Rectangle x:Name="BottomRightBorder"
  416. Grid.Row="2"
  417. Grid.Column="2"
  418. Fill="{DynamicResource MuchinfoBrush2}" />
  419. <Rectangle x:Name="BottomBorder"
  420. Grid.Row="2"
  421. Grid.Column="1"
  422. Fill="{DynamicResource MuchinfoBrush2}" />
  423. <Rectangle x:Name="BottomLeftBorder"
  424. Grid.Row="2"
  425. Grid.Column="0"
  426. Fill="{DynamicResource MuchinfoBrush2}" />
  427. <Rectangle x:Name="LeftBorder"
  428. Grid.Row="1"
  429. Grid.Column="0"
  430. Fill="{DynamicResource MuchinfoBrush2}" />
  431. </Grid>
  432. </Border>
  433. </Window>