내 트리거가 빈 문자열 또는 null을 검사하고 있기 때문에 이것이 작동하지 않는 이유가 있다고 가정하고 있는데, 실제로 갖고있는 것은 텍스트가있는 텍스트 블록입니다. 비어있는 (또는 null) 속성 누구든지 쉽게 트리거를 수정할 수있는 방법을 알고 있습니까? 나는 30 분 동안 행운이없는 바인딩/트리거/데이터 트리거 (datatriggers)의 다른 방법을 시도해왔다.비어 있거나 null 인 경우 멀티 바인딩 도구 설명 표시 안 함
<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>
FYI : http://stackoverflow.com/a/197130/620360. FormatString에 추가 텍스트가 포함되어 있으면 텍스트가 null 또는 비어 있지 않습니다. – LPL
링크를 제공해 주셔서 감사합니다.하지만 여러 속성에 바인딩해야합니다. 글쎄, 이상한 것은 위의 바인딩 속성 (id, x, y)이 null 일 때 도구 설명에 공백이 표시된다는 것입니다. ToolTip에 텍스트가 포함되어있는 경우에만 ToolTip이 표시되도록하려고합니다. – jsirr13
예제 응용 프로그램에서 시나리오를 시도했지만 바인딩에 문제가있는 경우 공백 툴팁 만 표시됩니다. 1 개 또는 모든 프로퍼티가 null의 경우는 놓치고 포맷은 표시됩니다. 그래서 나는 당신의 접근 방식이 효과가 없을 것이라고 생각합니다. 제 의견으로는 가장 간단한 해결책은 표시 할 항목이 있으면 null이 아닌 ToolTip 바인딩에 대한 추가 문자열 속성이 될 것입니다. – LPL