これが機能しない理由は、トリガーが空の文字列またはnullをチェックしているためだと思いますが、実際にあるのは、空(またはnull)のTextプロパティを持つテキストブロックです。これを実現するためにトリガーを簡単に変更する方法を知っている人はいますか?運が悪かったのですが、バインド/トリガー/データトリガーのさまざまな方法を試して30分ほどいじりました。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="ToolTip">
<Setter.Value>
<!--Can't be directly in tool tip, cuz tool tip is object. StringFormat will only work with string-->
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}ID: {0}
X: {1}
Y: {2}">
<Binding Path="MyClass.Id"/>
<Binding Path="MyClass.x"/>
<Binding Path="MyClass.y"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="ToolTip.Content" Value="{x:Static System:String.Empty}">
<Setter Property="ToolTip.Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="ToolTip.Content" Value="{x:Null}">
<Setter Property="ToolTip.Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>