ในคลาส MainWindow ฉันมีช่องทำเครื่องหมายที่ควบคุมคุณสมบัติที่ใช้โดยวัตถุจำนวนมาก เช่น grids, listviews ฯลฯ ใน UserControls
<CheckBox Content="Show objects ID" Name="showID" IsChecked="False" />
เกินกว่าที่จะมีคุณสมบัติกำหนดไว้
public Visibility ShowObjectIDasVisibility
{
get { return showID.IsChecked.Equals(true) ? Visibility.Visible : Visibility.Collapsed; }
}
ฉันมีสิ่งนี้มากกว่านี้เพื่อส่งคืนบูลีน ความกว้าง ขึ้นอยู่กับสิ่งที่ควรใช้กับการควบคุมเป้าหมาย
ฉันจัดการเพื่อผูกการควบคุมที่อยู่ในวัตถุ UserControl เพื่อใช้คุณสมบัตินี้ดังนี้:
<TextBlock Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=ShowObjectIDasVisibility}" />
แต่มันใช้งานได้เพียงอันเดียวในขณะที่สร้าง TextBlock นี้ ซึ่งฉันสามารถสลับช่องทำเครื่องหมายได้บ่อยเท่าที่ต้องการ และ TextBlock จะยังคงมองเห็นได้หรือไม่ขึ้นอยู่กับค่าแรก
ฉันควรทำอย่างไรดี? ขอบคุณ.