คือผมลองเล่น WPF ดูอ่ะครับ แล้วทีนี้ผมเกิดความสงสัยแบบสุดๆครับว่า ในเมื่อโปรแกรมกับส่วนแสดงผลแยกกัน ทีนี้ถ้าเกิดว่าผมต้องการปรับค่าการแสดงผลจาก Main Program ได้นี่มันต้องทำอย่างไรหรอครับ เช่นใน xaml มี TextBlock สูง 200 แต่ผมต้องการที่จะเปลี่ยนค่าความกว้างของมันได้อย่างอิสระจากการคำนวณใน Main Program โดยป้อนค่าตัวเลขที่ต้องการลงใน textbox อะไรแบบนี้อ่ะครับ มันต้องทำยังไงหรอครับ..
ก็ Binding ตามปกติเลยครับ แต่ถ้าจะให้มันเอาค่าจาก TextBox กลับไปด้วยต้องกำหนดเป็น TwoWay เพื่อบอกว่าค่าในนี้หากมีการกำหนดที่ UI ให้ไปแก้ค่าที่ DataContext ด้วย
เช่น
ปล. อันนี้ผมเขียนเป็นของ WP7 นะครับ ไม่รู้ว่าจะเหมือนกันไหม
คือตอนนี้ผม Binding เป็นแค่ [กำหนด ElementName แล้วก็ Path ]ให้ชี้ค่าไปที่ ElementName นั้นๆใน xaml เองอ่ะครับ ทีนี้ผมก็เลยสงสัยว่า ถ้าเกิดจะให้มันชี้ไปเอาค่าใน mian program อ่ะครับ มันจะต้องทำยังไง
เช่นใน Windows ผมมี Button1 อยู่ปุ่มนึง แล้วก็มี TextBlock1 อยู่หนึ่งตัว สูง 200 แต่ความกว้างผมจะไปเอาที่ main program โดยที่ตอนที่โปรแกรมโหลดขึ้นมาผมกำหนดค่าเริ่มต้นให้ความกว้างของ TextBlock1 เป็น 100 แล้วคำสั่งภายในปุ่มผมคือกำหนดให้ความกว้างของ TextBlock1 นั้นเป็น 300 อะไรแบบนี้อ่ะครับ แบบว่าผมอยากจะทำแบบนี้อ่ะครับ ไม่ทราบว่าทำอย่างไร รบกวนช่วยลองเขียน Code xaml กับ C#หรือVB ให้ดูเป็นตัวอย่างหน่อยสิครับ ขอบคุณล่วงหน้าครับผม..
ใช้xaml ใน comment แรกนะครับ
เวลาจะเปลี่ยนค่าก็สั่งแค่ Width1 = ค่าที่ต้องการ มันก็จะ Binding เองเลยครับ
อันนี้เป็นของ WP7 แต่คิดว่าก็น่าจะคล้ายๆกัน
โว้วว ขอบคุณมากๆครับ แล้วถ้าเกิดจะเปลี่ยนแปลงค่าความกว้างของตัว Control ที่มันอยู่ใน DataTemplate มันจะต้องทำอย่างไรหรอครับ..
แล้วใช้วิธีเดียวกันนี้ไม่ได้หรอครับ ผมก็ไม่เคยลองเหมือนกัน
ครับผม ผมลองดูแล้ว แบบว่า ของที่อยู่ใน DataTemplate มันเชื่อมต่อไปไม่ถึง Width1 ได้เลยอ่ะครับ แต่มันสามารถ Binding ไปหา Element ข้างนอก DataTemplate ใน xaml ได้อ่ะครับ