01/10/2018, 08:27
Xin hướng dẫn MultiTrigger trong source dictionary XAML, WPF
Chào mọi người e muốn để multitrigger trong souse dictionar nhưng nó báo lỗi Must have no-null value for “Binding”
<Style TargetType="TextBox" x:Key="text" >
<Setter Property="Margin" Value="100"/>
<Setter Property="BorderBrush" Value="White"/>
<Setter Property="BorderThickness" Value="5"/>
<Setter Property="Background" Value="{x:Null}"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderBrush" Value="Aqua"/>
<Setter Property="BorderThickness" Value="10"/>
<Setter Property="Background" Value="Black"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
E nghỉ là phải binding cái gì đó nhưng không biết phải làm thế nào ạ, xin mọi người giúp đỡ
<TextBox Style="{StaticResource ResourceKey= text}" />
Bài liên quan
Không có code ???
dạ e up code lên lại rồi ạ
Cái code này bạn viết trong 1 file xaml hay viết trong Window ?
Nếu viết trong 1 file xaml thì bạn phải khai báo file đó và trong khi set style thì set như thế này :
Còn viết trong Resource của Window thì dùng lệnh này xem:
Vẫn Không được ạ,e xài cả 2 cái đều vẫn bị cái lỗi "must have non-null value for bìnding "
Nhìn code thì thấy bạn đã viết trong 1 file xaml khác. Bạn đã khai báo file xaml này trong App.xaml chưa ?
dạ có ạ, e mà bỏ trigger đi nó lại trở về bình thường ạ
Sửa thử chỗ này xem có được không nhé:
Dạ vẫn không được ạ, nó bị gì chỗ trigger ý ạ, chắc cần binding cái gì đó
Nếu có 1 điều kiện thì bạn thay = Trigger thường xem sao.
Gửi cho mình cả project để mình xem thử
https://drive.google.com/open?id=0B6jkhtHC1IlnQlNzS3d5Umx2TFk
dạ a xem dùm e với ạ
Không có file bạn ơi.
Còn đây là code mình test. Không lỗi gì nhé :
Dictionary:
Khai báo trong App.xaml:
Trong View:
Kết quả :
dạ e biết e sai chỗ nào rồi ạ, cám ơn a nhiều
Bạn nên up nguyên nhân và cách xử lý lên cho các bạn sau nếu có gặp thì tìm thấy cách giải quyết.
E viết sai vú pháp multitrigger mà e viết là mutltidatatrigger