-2
是否可以將觸發器的value
屬性設置爲元素的屬性?在觸發器中,您可以測試另一個屬性的值嗎?
例如,在一個ControlTemplate
具有ScrollBar
,我想如果Minimum
和Maximum
屬性等於其Visibility
屬性設置爲Collapsed
。
但是,下列情況不工作,因爲你不能設置一個Binding
爲Trigger
的Value
因爲Trigger
不是DependencyObject
。
<Trigger Property="Minimum"
SourceName="PART_ScrollBar"
Value="{Binding Maximum, SourceName=PART_ScrollBar}">
<Setter Property="Visibility"
TargetName="PART_ScrollBar"
Value="Collapsed" />
</Trigger>
所以可以這樣純粹用觸發器做,或做我必須做這在代碼隱藏?
當'Maximum'和'Minimum'值爲任何時間同樣,你應該把'可見性'設置爲'摺疊'? – StepUp
是的。問題是將最大值(或最小值)放入觸發器的值測試部分。我不認爲這是可能的。如圖所示,你不能使用綁定,我不知道任何其他方式。唯一我能想到的是一個自定義可見性轉換器,這很容易,但我試圖看看如果我可以在沒有代碼的模板中做到這一點。 – MarqueIV
要麼有一個布爾型ViewModel屬性('ScrollVisible'?),當'minimum'和'maximum'等於true且否則爲true時(儘管這需要記住在'minimum'或'maximum'時調用'ScrollVisible'上的PropertyChanged '改變了),或者使用MultiValueConverter。 –