WPF richtig Strukturieren und Feste Elemente verankern

  • WPF

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    WPF richtig Strukturieren und Feste Elemente verankern

    Hallo,

    ich bin gerade Anfänger was WPF angeht. Ich bin gerade dabei eine Anwendung zu machen die eine Sidebar hat und eine Informationsleiste.

    Die Sidebar hab ich wie hier github.com/CSharpDesignPro/Nav…rawer-Sidebar-Menu-in-WPF nachgebaut und auf meine Anforderungen angepasst. Diese Sidebar soll auf jeder Seite sein und gleich bleiben. Zukünftig in einem anderen Modul wird die vom aussehen her auch gleich bleiben aber der Inhalt wird sich ändern. Meine frage ist: Wie kann ich das schaffen, dass die Sidebar auf jeder Neu erstellten Seite vorhanden ist? Und wie kann ich das richtig im Code strukturieren. Auf meiner Sidebar sind insgesamt 10 Menüpunkte. Zu jedem Menüpunkt gibt es eine Seite mit unterschiedlichen Inhalten. Mein Ziel ist, Sidebar bleibt jedes mal gleich und ich bauche mir nur den Inhalt der Seite zurecht. Also quasi Sidebar und oben die Infoleite sollen statisch sein und der dritte bereich dynamisch.

    Bei dem Link was oben zu sehen ist gibt es auch mehrere Menüpunkte, das hat bei mir auch geklappt. Der quellcode ist dort auch zu sehen, deswegen ging es recht schnell, dass ich meine Sidebar fertig hatte. Jedoch ich habe einen Punkt welcher "Details" heißt und dafür möchte ich mehrere Unterseiten haben. Das heißt ich klicke drauf und erst dann erscheinen die zwei Unterpunkte die zum Menüpunkt Details gehören.

    Würde mich freuen wenn ich da etwas Unterstützung bekommen könnte. :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „annamiii374“ ()

    Hallo

    Damit du am Anfang nicht zu verwirrt bist und wir nicht wissen wie du unter WPF arbeitest. MVVM oder nicht ist es wohl besser zu zeigst etwas Code und XAML damit wir sehen wie du arbeitest. Du sagst ja das du dir die Leiste etwas angepasst hast, da wöre interessant was genau, nicht das ein Lösungsvorschlag hier genau das gegenteil dessen bewirkt was er soll. :)

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Spoiler anzeigen

    Quellcode

    1. <Window x:Class="Navigation_Drawer_App.MainWindow"
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    6. xmlns:local="clr-namespace:Navigation_Drawer_App"
    7. mc:Ignorable="d"
    8. Title="MainWindow"
    9. Height="600"
    10. Width="800"
    11. WindowStartupLocation="CenterScreen">
    12. <Window.Resources>
    13. <ResourceDictionary>
    14. <ResourceDictionary.MergedDictionaries>
    15. <ResourceDictionary Source="Style_Bibliotheken/Sidebar_Style/Sidebar_Style.xaml"/>
    16. </ResourceDictionary.MergedDictionaries>
    17. </ResourceDictionary>
    18. </Window.Resources>
    19. <Grid>
    20. <!--// Background Color //-->
    21. <Grid Background="Transparent">
    22. <!--// Background Image //-->
    23. <Grid x:Name="BG" PreviewMouseRightButtonDown="BG_PreviewMouseLeftButtonDown">
    24. <StackPanel x:Name="img_bg"
    25. Background="White">
    26. </StackPanel>
    27. </Grid>
    28. <!--// App Close Button //-->
    29. <Grid>
    30. <Grid.ColumnDefinitions>
    31. <ColumnDefinition Width="*"/>
    32. <ColumnDefinition Width="60"/>
    33. <ColumnDefinition Width="30"/>
    34. </Grid.ColumnDefinitions>
    35. <Grid.RowDefinitions>
    36. <RowDefinition Height="30"/>
    37. <RowDefinition Height="60"/>
    38. <RowDefinition Height="*"/>
    39. </Grid.RowDefinitions>
    40. <!--<Button x:Name="CloseBtn"
    41. Grid.Column="1"
    42. Grid.Row="1"
    43. Height="40"
    44. Width="40"
    45. BorderThickness="0"
    46. Style="{StaticResource Close_btn}" Click="CloseBtn_Click">
    47. <Button.Background>
    48. <ImageBrush ImageSource="Assets/calculator.png"/>
    49. </Button.Background>
    50. </Button>-->
    51. </Grid>
    52. <!--// Navigation Panel //-->
    53. <Grid x:Name="nav_pnl"
    54. HorizontalAlignment="Left"
    55. Width="65"
    56. Background="White">
    57. <StackPanel x:Name="st_pnl">
    58. <!--// Grid for the Menu Toggle Button //-->
    59. <Grid Height="80">
    60. <!--// Menu title text //-->
    61. <!--<TextBlock Grid.Row="1"
    62. Grid.Column="0"
    63. Margin="73,-20,0,0"
    64. Text="M E N U"
    65. Foreground="Black"
    66. FontSize="22"
    67. Background="Transparent"
    68. HorizontalAlignment="Left"
    69. VerticalAlignment="Center"
    70. Style="{StaticResource font_style}">
    71. -->
    72. <!--// Shadow Effect //-->
    73. <!--
    74. <TextBlock.Effect>
    75. <DropShadowEffect BlurRadius="10"
    76. ShadowDepth="1"
    77. Direction="-90"
    78. Color="White"/>
    79. </TextBlock.Effect>
    80. </TextBlock>-->
    81. <!--// Toggle Button //-->
    82. <ToggleButton x:Name="Tg_Btn"
    83. Grid.Column="0"
    84. VerticalAlignment="Center"
    85. HorizontalAlignment="Left"
    86. Margin="18,-20,0,0"
    87. Height="30"
    88. Width="30"
    89. BorderThickness="0"
    90. Style="{StaticResource tb_style}" Unchecked="Tg_Btn_Unchecked" Checked="Tg_Btn_Checked">
    91. <!--// Toggle button default background image //-->
    92. <ToggleButton.Background>
    93. <ImageBrush ImageSource="Style_Bibliotheken/Assets/chevron-right.png"
    94. Stretch="None"/>
    95. </ToggleButton.Background>
    96. // Toggle Button - Checked, Unchecked events //
    97. <ToggleButton.Triggers>
    98. <EventTrigger RoutedEvent="ToggleButton.Unchecked">
    99. <BeginStoryboard>
    100. <Storyboard x:Name="HideStackPanel">
    101. <DoubleAnimation
    102. Storyboard.TargetName="nav_pnl"
    103. Storyboard.TargetProperty="Width"
    104. BeginTime="0:0:0"
    105. From="230" To="65"
    106. Duration="0:0:0.2">
    107. </DoubleAnimation>
    108. </Storyboard>
    109. </BeginStoryboard>
    110. </EventTrigger>
    111. <EventTrigger RoutedEvent="ToggleButton.Checked">
    112. <BeginStoryboard>
    113. <Storyboard x:Name="ShowStackPanel">
    114. <DoubleAnimation
    115. Storyboard.TargetName="nav_pnl"
    116. Storyboard.TargetProperty="Width"
    117. BeginTime="0:0:0"
    118. From="65" To="230"
    119. Duration="0:0:0.3">
    120. </DoubleAnimation>
    121. </Storyboard>
    122. </BeginStoryboard>
    123. </EventTrigger>
    124. </ToggleButton.Triggers>
    125. </ToggleButton>
    126. </Grid>
    127. <!--// ListView with menu list items //-->
    128. <ListView x:Name="LV"
    129. Background="Transparent"
    130. BorderBrush="Transparent"
    131. ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
    132. <!--// Allgemeines //-->
    133. <ListViewItem HorizontalAlignment="Left"
    134. MouseEnter="ListViewItem_MouseEnter"
    135. BorderThickness="10,0,0,0"
    136. >
    137. <StackPanel Orientation="Horizontal"
    138. Width="230">
    139. <Image Source="Style_Bibliotheken/Assets/clipboard-list.png"
    140. Stretch="None"
    141. Margin="12,0,0,0"/>
    142. <TextBlock Text="Allgemeines"
    143. Margin="25,0,0,0"
    144. Style="{StaticResource font_style}"/>
    145. </StackPanel>
    146. <!--// Tooltip //-->
    147. <ListViewItem.ToolTip>
    148. <ToolTip x:Name="tt_allgemeines"
    149. Content="Allgemeines"
    150. Style="{StaticResource tt_style}"/>
    151. </ListViewItem.ToolTip>
    152. </ListViewItem>
    153. <!--// Details //-->
    154. <ListViewItem HorizontalAlignment="Left"
    155. MouseEnter="ListViewItem_MouseEnter"
    156. >
    157. <StackPanel Orientation="Horizontal"
    158. Width="230">
    159. <Image Source="Style_Bibliotheken/Assets/search.png"
    160. Stretch="None"
    161. Margin="12,0,0,0"/>
    162. <TextBlock Text="Details"
    163. Margin="25,0,0,0"
    164. Style="{StaticResource font_style}"/>
    165. </StackPanel>
    166. <!--// Tooltip //-->
    167. <ListViewItem.ToolTip>
    168. <ToolTip x:Name="tt_details"
    169. Content="Details"
    170. Style="{StaticResource tt_style}"/>
    171. </ListViewItem.ToolTip>
    172. </ListViewItem>
    173. <!--// Beschaffung //-->
    174. <ListViewItem HorizontalAlignment="Left"
    175. MouseEnter="ListViewItem_MouseEnter"
    176. >
    177. <StackPanel Orientation="Horizontal"
    178. Width="230">
    179. <Image Source="Style_Bibliotheken/Assets/cart-plus.png"
    180. Stretch="None"
    181. Margin="12,0,0,0"/>
    182. <TextBlock Text="Beschaffung"
    183. Margin="25,0,0,0"
    184. Style="{StaticResource font_style}"/>
    185. </StackPanel>
    186. <!--// Tooltip //-->
    187. <ListViewItem.ToolTip>
    188. <ToolTip x:Name="tt_beschaffung"
    189. Content="Beschaffung"
    190. Style="{StaticResource tt_style}"/>
    191. </ListViewItem.ToolTip>
    192. </ListViewItem>
    193. <!--// Vertrieb //-->
    194. <ListViewItem HorizontalAlignment="Left"
    195. MouseEnter="ListViewItem_MouseEnter"
    196. >
    197. <StackPanel Orientation="Horizontal"
    198. Width="230">
    199. <Image Source="Style_Bibliotheken/Assets/money-bill-wave-alt.png"
    200. Stretch="None"
    201. Margin="12,0,0,0"/>
    202. <TextBlock Text="Vertrieb"
    203. Margin="25,0,0,0"
    204. Style="{StaticResource font_style}"/>
    205. </StackPanel>
    206. <!--// Tooltip //-->
    207. <ListViewItem.ToolTip>
    208. <ToolTip x:Name="tt_vertrieb"
    209. Content="Vertrieb"
    210. Style="{StaticResource tt_style}"/>
    211. </ListViewItem.ToolTip>
    212. </ListViewItem>
    213. <!--// Controlling //-->
    214. <ListViewItem HorizontalAlignment="Left"
    215. MouseEnter="ListViewItem_MouseEnter"
    216. >
    217. <StackPanel Orientation="Horizontal"
    218. Width="230">
    219. <Image Source="Style_Bibliotheken/Assets/calculator.png"
    220. Stretch="None"
    221. Margin="12,0,0,0"/>
    222. <TextBlock Text="Controlling"
    223. Margin="25,0,0,0"
    224. Style="{StaticResource font_style}"/>
    225. </StackPanel>
    226. <!--// Tooltip //-->
    227. <ListViewItem.ToolTip>
    228. <ToolTip x:Name="tt_controlling"
    229. Content="Controlling"
    230. Style="{StaticResource tt_style}"/>
    231. </ListViewItem.ToolTip>
    232. </ListViewItem>
    233. <!--// Produktion //-->
    234. <ListViewItem HorizontalAlignment="Left"
    235. MouseEnter="ListViewItem_MouseEnter"
    236. >
    237. <StackPanel Orientation="Horizontal"
    238. Width="230">
    239. <Image Source="Style_Bibliotheken/Assets/cogs.png"
    240. Stretch="None"
    241. Margin="12,0,0,0"/>
    242. <TextBlock Text="Produktion"
    243. Margin="25,0,0,0"
    244. Style="{StaticResource font_style}"/>
    245. <!--// Stückliste //-->
    246. <ListViewItem HorizontalAlignment="Left"
    247. MouseEnter="ListViewItem_MouseEnter"
    248. >
    249. <StackPanel Orientation="Horizontal"
    250. Width="230">
    251. <TextBlock Text="Stückliste"
    252. Margin="25,0,0,0"
    253. Style="{StaticResource font_style}"/>
    254. </StackPanel>
    255. </ListViewItem>
    256. </StackPanel>
    257. <!--// Tooltip //-->
    258. <ListViewItem.ToolTip>
    259. <ToolTip x:Name="tt_produktion"
    260. Content="Produktion"
    261. Style="{StaticResource tt_style}"/>
    262. </ListViewItem.ToolTip>
    263. </ListViewItem>
    264. <!--// Auswertung //-->
    265. <ListViewItem HorizontalAlignment="Left"
    266. MouseEnter="ListViewItem_MouseEnter"
    267. >
    268. <StackPanel Orientation="Horizontal"
    269. Width="230">
    270. <Image Source="Style_Bibliotheken/Assets/chart-pie.png"
    271. Stretch="None"
    272. Margin="12,0,0,0"/>
    273. <TextBlock Text="Auswertung"
    274. Margin="25,0,0,0"
    275. Style="{StaticResource font_style}"/>
    276. </StackPanel>
    277. <!--// Tooltip //-->
    278. <ListViewItem.ToolTip>
    279. <ToolTip x:Name="tt_auswertung"
    280. Content="Auswertung"
    281. Style="{StaticResource tt_style}"/>
    282. </ListViewItem.ToolTip>
    283. </ListViewItem>
    284. <!--// Lager //-->
    285. <ListViewItem HorizontalAlignment="Left"
    286. MouseEnter="ListViewItem_MouseEnter"
    287. >
    288. <StackPanel Orientation="Horizontal"
    289. Width="230">
    290. <Image Source="Style_Bibliotheken/Assets/box-open.png"
    291. Stretch="None"
    292. Margin="12,0,0,0"/>
    293. <TextBlock Text="Lager"
    294. Margin="25,0,0,0"
    295. Style="{StaticResource font_style}"/>
    296. </StackPanel>
    297. <!--// Tooltip //-->
    298. <ListViewItem.ToolTip>
    299. <ToolTip x:Name="tt_lager"
    300. Content="Lager"
    301. Style="{StaticResource tt_style}"/>
    302. </ListViewItem.ToolTip>
    303. </ListViewItem>
    304. <!--// Logging //-->
    305. <ListViewItem HorizontalAlignment="Left"
    306. MouseEnter="ListViewItem_MouseEnter"
    307. >
    308. <StackPanel Orientation="Horizontal"
    309. Width="230">
    310. <Image Source="Style_Bibliotheken/Assets/pen-nib.png"
    311. Stretch="None"
    312. Margin="12,0,0,0"/>
    313. <TextBlock Text="Logging"
    314. Margin="25,0,0,0"
    315. Style="{StaticResource font_style}"/>
    316. </StackPanel>
    317. <!--// Tooltip //-->
    318. <ListViewItem.ToolTip>
    319. <ToolTip x:Name="tt_logging"
    320. Content="Logging"
    321. Style="{StaticResource tt_style}"/>
    322. </ListViewItem.ToolTip>
    323. </ListViewItem>
    324. <!--// Produktlebenszyklus //-->
    325. <ListViewItem HorizontalAlignment="Left"
    326. MouseEnter="ListViewItem_MouseEnter"
    327. >
    328. <StackPanel Orientation="Horizontal"
    329. Width="230">
    330. <Image Source="Style_Bibliotheken/Assets/circle-notch.png"
    331. Stretch="None"
    332. Margin="12,0,0,0"/>
    333. <TextBlock Text="Produktlebenszyklus"
    334. Margin="25,0,0,0"
    335. Style="{StaticResource font_style}"/>
    336. </StackPanel>
    337. <!--// Tooltip //-->
    338. <ListViewItem.ToolTip>
    339. <ToolTip x:Name="tt_produktlebenszyklus"
    340. Content="Produktlebenszyklus"
    341. Style="{StaticResource tt_style}"/>
    342. </ListViewItem.ToolTip>
    343. </ListViewItem>
    344. <!--// Listview items style template //-->
    345. <ListView.ItemContainerStyle>
    346. <Style TargetType="ListViewItem">
    347. <Setter Property="Template">
    348. <Setter.Value>
    349. <ControlTemplate TargetType="{x:Type ListViewItem}">
    350. <Border x:Name="Bd"
    351. Height="50"
    352. BorderBrush="{TemplateBinding BorderBrush}"
    353. BorderThickness="10,0,0,0"
    354. Background="{TemplateBinding Background}"
    355. Padding="{TemplateBinding Padding}"
    356. SnapsToDevicePixels="True">
    357. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
    358. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
    359. VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
    360. </Border>
    361. <ControlTemplate.Triggers>
    362. <MultiTrigger>
    363. <MultiTrigger.Conditions>
    364. <Condition Property="IsMouseOver" Value="True"/>
    365. </MultiTrigger.Conditions>
    366. <Setter Property="Background"
    367. TargetName="Bd"
    368. Value="White"/>
    369. <Setter Property="BorderBrush"
    370. TargetName="Bd"
    371. Value="#05912f"/>
    372. </MultiTrigger>
    373. </ControlTemplate.Triggers>
    374. </ControlTemplate>
    375. </Setter.Value>
    376. </Setter>
    377. </Style>
    378. </ListView.ItemContainerStyle>
    379. </ListView>
    380. </StackPanel>
    381. </Grid>
    382. </Grid>
    383. </Grid>
    384. </Window>
    385. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    386. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    387. xmlns:local="clr-namespace:ToggleButtonTest.Style_Bibliotheken.Sidebar_Style">
    388. <!--// Toggle Button Style Template //-->
    389. <ImageBrush x:Key="tb_mouse_over"
    390. ImageSource="../Assets/chevron-left.png"/>
    391. <!--// Text font style //-->
    392. <Style x:Key="font_style" TargetType="TextBlock">
    393. <Setter Property="FontFamily"
    394. Value="Century Gothic"/>
    395. <Setter Property="VerticalAlignment"
    396. Value="Center"/>
    397. <Setter Property="HorizontalAlignment"
    398. Value="Left"/>
    399. <Setter Property="Foreground"
    400. Value="Black"/>
    401. <Setter Property="FontSize"
    402. Value="15"/>
    403. </Style>
    404. <!--// Tooltip Style Template //-->
    405. <Style TargetType="ToolTip" x:Key="tt_style">
    406. <Setter Property="Placement" Value="Right"/>
    407. <Setter Property="Height" Value="40"/>
    408. <Setter Property="Width" Value="200"/>
    409. <Setter Property="Margin" Value="20,0,0,0"/>
    410. <Setter Property="Background" Value="#4A5668"/>
    411. <Setter Property="BorderBrush" Value="Transparent"/>
    412. <Setter Property="Foreground" Value="White"/>
    413. <Setter Property="FontFamily" Value="Century Gothic"/>
    414. <Setter Property="FontSize" Value="16"/>
    415. <Setter Property="PlacementRectangle" Value="55,0,0,0"/>
    416. <Setter Property="HorizontalOffset" Value="15"/>
    417. <Setter Property="VerticalOffset" Value="6"/>
    418. <Setter Property="HasDropShadow" Value="True"/>
    419. <Setter Property="HorizontalContentAlignment" Value="Center"/>
    420. </Style>
    421. <!--// App Close Button Style Template //-->
    422. <!--<ImageBrush x:Key="CloseBtn_MouseOver" ImageSource="Assets/speisekarte.png"/>
    423. <Style x:Key="Close_btn" TargetType="{x:Type Button}">
    424. <Setter Property="Template">
    425. <Setter.Value>
    426. <ControlTemplate TargetType="{x:Type Button}">
    427. <Border x:Name="button"
    428. BorderThickness="0"
    429. Background="{TemplateBinding Background}"
    430. SnapsToDevicePixels="True">
    431. </Border>
    432. <ControlTemplate.Triggers>
    433. <Trigger Property="IsMouseOver"
    434. Value="True">
    435. <Setter Property="Background"
    436. TargetName="button"
    437. Value="{StaticResource CloseBtn_MouseOver}"/>
    438. </Trigger>
    439. </ControlTemplate.Triggers>
    440. </ControlTemplate>
    441. </Setter.Value>
    442. </Setter>
    443. </Style>-->
    444. <Style x:Key="tb_style" TargetType="{x:Type ToggleButton}">
    445. <Setter Property="Template">
    446. <Setter.Value>
    447. <ControlTemplate TargetType="{x:Type ToggleButton}">
    448. <Border x:Name="border"
    449. BorderThickness="{TemplateBinding BorderThickness}"
    450. Background="{TemplateBinding Background}"
    451. SnapsToDevicePixels="True">
    452. </Border>
    453. <ControlTemplate.Triggers>
    454. <Trigger Property="IsMouseOver" Value="true">
    455. <Setter Property="Background"
    456. TargetName="border"
    457. Value="{StaticResource tb_mouse_over}"/>
    458. <Setter Property="BorderBrush"
    459. TargetName="border"
    460. Value="{StaticResource tb_mouse_over}"/>
    461. </Trigger>
    462. <Trigger Property="IsChecked" Value="true">
    463. <Setter Property="Background"
    464. TargetName="border"
    465. Value="{StaticResource tb_mouse_over}"/>
    466. <Setter Property="BorderBrush"
    467. TargetName="border"
    468. Value="{StaticResource tb_mouse_over}"/>
    469. </Trigger>
    470. </ControlTemplate.Triggers>
    471. </ControlTemplate>
    472. </Setter.Value>
    473. </Setter>
    474. </Style>
    475. </ResourceDictionary>


    Und MainWindow.xaml.cs ist gleich wie der von dem Link.

    *Code mit Codetags versehen und in einen Spoiler gepackt - Bitte das nächste mal auch so machen* ~NoFear23m

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „annamiii374“ ()

    Hallo nochmal

    Ich hab mir das jetzt angesehen und ich muss sagen das dies vom Entwickler eher suboptimal gelöst wurde da hier kein Binding verwendet wurde und nichts.
    Das sollte man komplett umbauen, vorallem wenn du es an mehreren Orten verwenden willst und es evtl. auch flexibel haben willst.

    Darf man fragen warum du nichts verwendest was es schon gibt wie z.b. das hier: mahapps.com/docs/controls/HamburgerMenu

    Versteh mich nicht falsch, ich finde es super wenn du sagst du willst dich in die Welt der WPF einarbeiten und etwas lernen und willst es verstehen und nachprogrammieren. Wenn dem so ist sag nur Bescheid, dann gehen wir das gerne durch, so lernst du sicher was.
    Falls dem so ist gleich ne Frage hinterher. Der Content den du anzeigen lassen willst wenn man auf ein MenüItem klickt soll ja rechts neben der Leiste sein, soll sich diese Content nach rechts verschieben wenn das Menü aufgeklappt wird oder soll das Menü sich über diesen Content "drüberschieben"? Ich nehme mal an letzteres.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hey, ja genau eigentlich soll sich der Pfeil nach rechts verschieben wenn sich das Menü aufklappt und der Icon soll dann auch anders sein. Das heißt: Wenn menü eingeklappt dann pfeil nach rechts und wenn menü ausgeklappt dann soll der ein Pfeil nach links Zeigen aber sich auf der rechten seite des Menüs befinden.

    Wie können wir das am besten machen? Wie kannst du mir helfen? Gerne können wir das durchgehen, damit ich die Struktur etwas verbessern kann und zukünfitg alles besser machen kann.


    Bzw. was soll ich als nächstes machen?

    Ich hatte das eine benutzt was ich in dem Link schon geschickt habe weil das auch super gepasst hat zu dem was ich brauche, deshalb hab ich mich dafür entschieden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „annamiii374“ ()

    Guten Morgen

    Du hast mich leider missverstanden.
    Klickst du auf den Pfeil klappt das Menü ja nach rechts auf und man sieht die Beschriftungen neben den Icons (Allgemeins, Beschaffung,....).
    Geschiet dies nimmt es ja um einiges mehr Platz im Fenster ein, da ist die Frage was hier passieren soll, soll sich (3 Dimensional gesehen) das Menü vor den Rest des Contents schieben oder soll es den Content "stauchen".

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Achso, wenn sich das Menü einklappt dann soll sich der Content vergrößern und wenn es ausklappt soll sich der Content verkleinern, also es soll sich immer anpassen je nach dem ob die sidebar eingeklappt oder ausgeklappt ist. Also stauchen


    Jetzt weiß ich gar nicht mehr was ich jetzt machen soll, meinst du ich soll neu anfangen und Du unterstützt mich am Anfang bei der Struktur? Oder ist es möglich den Code zu überarbeiten?


    Soll ich dieses Mahapp installieren und damit weiterarbeiten?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „annamiii374“ ()

    OK, warte mal. Dann konzentrieren wir uns jetzt mal auf MahApp und das HamburgerMenü.
    Ich dachte ja fast das du auf das hinauswillst, irgendwie will ja niemand das Rad neu erfinden.

    Gut, wo genau hängst du?
    Zeig mal welchen Code du im Moment implementiert hast und wir sehen das wir das bei dir zum laufen bringen ;)

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hallo

    Ich habe den Edit im Beitrag #7 erst jetzt gesehen. Beim Editieren bekommt man keine Benachrichtigung.

    Naja, MahApps ist immer ne gute Sache wenn man ein oder mehrere Controls aus der Library benötigt. Die Themes muss man z.b. nicht einbinden, kann man aber, sehen ziemlich gut aus finde ich.
    Was du bereits an Code hast weis ich nicht, wenn du nur das bischen hast was du in den ersten Posts hier eingefügt hast dann definitiv. Ist ja quasi nichts an Code. Nur ein wenig XAML und fertig.
    Und den brauchst du mit MahApps nicht. Einfach dem HowTo von MahApps befolgen (in einem neuen Projekt) und erstmal ein Control einbinden (in deinem Fall das Hamburger-Menü).

    Solltest du damit probleme haben melde dich hald. Ich kann dir ja auch ein Projekt hier hochladen welches die Bibliothek eingebunden hat. Aber das sind Basics und das bekommst du sicher hin.

    Und dann können wir drüber plaudern was du dann genau in diesem Menü brauchst und wie man es anpassen und mit "leben" befüllen kann. Keine Angst, ist nicht so schwer. Aber Grundlagenwissen braucht man schon. Sowieso wenn man mit WPF arbeitet.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    mahapps.com/docs/controls/HamburgerMenu

    Ich versuche das zu verstehen und ebenfalls in dieser Form zu machen. Habe gerade ein Problem mit der einbindung der Ressource.

    Hab ein Dictionary erstellt mit dem Namen "Hamburgermenu.xaml" und versuche das im MainWindow als Ressource einzubinden. Der meckert "Jeder Verzeichniseintrag muss einen zugeordneten Schlüssel aufweisen"

    Ich hab das genauso eingebunden wie ohne MahApps.

    <Controls:MetroWindow.Resources>
    <ResourceDictionary>
    <ResourceDictionary Source="HamburgerMenu.xaml"/>
    </ResourceDictionary>
    </Controls:MetroWindow.Resources>

    Hab das gefühl, dass ich alles falsch mache :D
    dort in dem Beispiel werden kaum Fraben definieirt. Ich komme nicht so ganz klar mit den Ressourcen einbindung und zuweisung, dh. wo ändere ich was. Würde gerne jetzt die Farben ändern. Würde gerne einen Übergreifende Schriftart setzen dass überall zb. Arial benutzt wird. Auch standard Labels setzen etc. Wo und wie kann ich das machen ?
    Nur mal langsam. Es wäre gut wenn du mal ein Projekt hochladen würdest.

    Lass erstmal das anpassen des Views. Das kommt zum Schluss. Sehe mal zu das du die Funktionalitäten reinpackst.
    Kann ich also davon ausgehen das du die Bibliothek und somit das Control richtig in ein Projekt einbinden konntest? Denn laut deinem letzten Post hatte ich das Gefühl das dies nicht so klappte.

    Lade mal das Projekt hoch mit Infos was wie wo sein soll und was wie wo passieren soll und ich schau mir das gerne an, so bin ich irgendwie "Blind".
    PS: Das Projekt bitte bereinigt hochladen. Also ohne BIN Ordner. In VisualStudio: Erstellen -> Projektmappe bereinigen

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Ups, hab ich dich nun verschreckt?

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##