Skip to content

Commit 9300647

Browse files
committed
turns out Visibility works exactly like you'd want for a TreeView
1 parent b706a6d commit 9300647

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/cascadia/TerminalApp/TasksPaneContent.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ namespace winrt::TerminalApp::implementation
117117
// FilteredCommand() = default;
118118
// FilteredCommand(const winrt::TerminalApp::PaletteItem& item);
119119

120-
void UpdateFilter(const winrt::hstring& filter) override
120+
void UpdateFilter(const winrt::hstring& filter) override
121121
{
122122
TerminalApp::implementation::FilteredCommand::UpdateFilter(filter);
123123
for (const auto& c : _children)
@@ -150,9 +150,15 @@ namespace winrt::TerminalApp::implementation
150150
};
151151
winrt::Windows::Foundation::Collections::IObservableVector<TerminalApp::FilteredTask> Children() { return _children; }
152152

153+
winrt::Windows::UI::Xaml::Visibility Visibility()
154+
{
155+
return (_Filter.empty() || _Weight > 0) ? winrt::Windows::UI::Xaml::Visibility::Visible : winrt::Windows::UI::Xaml::Visibility::Collapsed;
156+
};
157+
153158
private:
154159
winrt::Microsoft::Terminal::Settings::Model::Command _command{ nullptr };
155160
winrt::Windows::Foundation::Collections::IObservableVector<TerminalApp::FilteredTask> _children{ nullptr };
161+
156162
};
157163
}
158164

src/cascadia/TerminalApp/TasksPaneContent.xaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
<DataTemplate x:Key="TaskItemTemplate"
3434
x:DataType="local:FilteredTask">
3535
<mux:TreeViewItem x:Name="rootItem"
36-
ItemsSource="{x:Bind Children}">
36+
ItemsSource="{x:Bind Children}"
37+
Visibility="{x:Bind Visibility}">
3738
<Grid>
3839
<Grid.RowDefinitions>
3940
<RowDefinition Height="*" />

src/cascadia/TerminalApp/TerminalPaneContent.idl

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ namespace TerminalApp
4343
{
4444
String Input{ get; };
4545
Windows.Foundation.Collections.IObservableVector<FilteredTask> Children { get; };
46+
Windows.UI.Xaml.Visibility Visibility { get; };
4647
}
4748

4849
[default_interface] runtimeclass TasksPaneContent : Windows.UI.Xaml.Controls.UserControl, IPaneContent

0 commit comments

Comments
 (0)