[WPF] 왼쪽에서 슬라이드 인하는 메뉴바
이런 느낌
왼쪽에서 바가 슬라이드 인 표시합니다.
소스는 여기
메커니즘
WPF의 Window.Width
값을 늘리면 Window는 오른쪽으로 뻗어 있습니다.
바를 MainWindow와는 다른 Window로 해, Width
를 기세 좋게 늘려 가면, 실용성은 어쨌든, 이것은 이미 슬라이드 인이라고 해도 좋은 것은 아닐까.
MenuWindow.xaml.cs // メインウィンドウ側から呼んでもらう、メニューバー表示用のメソッド
public async void ShowSlideWindow(double left, double top, double ownerWidth)
{
this.Top = top;
this.Left = left;
this.Show();
// スライドイン表示
for (int i = 1; i < 15; i++)
{
var newValue = this.Width + 30 * (i - 0.7);
if (newValue <= ownerWidth)
{
this.Width = newValue;
}
else
{
break;
}
await Task.Delay(1);
}
this.Width = ownerWidth;
}
본제와는 별로 관계 없습니다만, 메뉴 바 이외의 부분을 클릭했을 때에, 바가 사라져 주는 움직임을 좋아하므로, Window의 Deactivated 이벤트로 Close()
하고 있습니다.
MenuWindow.xaml.cs private void Window_Deactivated(object sender, EventArgs e)
{
this.Close();
}
Reference
이 문제에 관하여([WPF] 왼쪽에서 슬라이드 인하는 메뉴바), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TakadaTentaro/items/0a92abf99567532946d7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
WPF의
Window.Width
값을 늘리면 Window는 오른쪽으로 뻗어 있습니다.바를 MainWindow와는 다른 Window로 해,
Width
를 기세 좋게 늘려 가면, 실용성은 어쨌든, 이것은 이미 슬라이드 인이라고 해도 좋은 것은 아닐까.MenuWindow.xaml.cs
// メインウィンドウ側から呼んでもらう、メニューバー表示用のメソッド
public async void ShowSlideWindow(double left, double top, double ownerWidth)
{
this.Top = top;
this.Left = left;
this.Show();
// スライドイン表示
for (int i = 1; i < 15; i++)
{
var newValue = this.Width + 30 * (i - 0.7);
if (newValue <= ownerWidth)
{
this.Width = newValue;
}
else
{
break;
}
await Task.Delay(1);
}
this.Width = ownerWidth;
}
본제와는 별로 관계 없습니다만, 메뉴 바 이외의 부분을 클릭했을 때에, 바가 사라져 주는 움직임을 좋아하므로, Window의 Deactivated 이벤트로
Close()
하고 있습니다.MenuWindow.xaml.cs
private void Window_Deactivated(object sender, EventArgs e)
{
this.Close();
}
Reference
이 문제에 관하여([WPF] 왼쪽에서 슬라이드 인하는 메뉴바), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TakadaTentaro/items/0a92abf99567532946d7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)