คำถามติดแท็ก data-binding

เทคนิคทั่วไปที่เชื่อมโยงข้อมูล / แหล่งข้อมูลสองแหล่งเข้าด้วยกันและคงไว้ซึ่งการซิงค์

12
ผูกพันกับคุณสมบัติคงที่
ฉันมีช่วงเวลาที่ยากลำบากในการผูกคุณสมบัติสตริงแบบคงที่ง่าย ๆ กับกล่องข้อความ นี่คือคลาสที่มีคุณสมบัติแบบคงที่: public class VersionManager { private static string filterString; public static string FilterString { get { return filterString; } set { filterString = value; } } } ใน xaml ของฉันฉันต้องการผูกคุณสมบัติสแตติกนี้กับกล่องข้อความ: <TextBox> <TextBox.Text> <Binding Source="{x:Static local:VersionManager.FilterString}"/> </TextBox.Text> </TextBox> ทุกอย่างรวบรวม แต่ในเวลาทำงานฉันได้รับข้อยกเว้นต่อไปนี้: ไม่สามารถแปลงค่าในแอตทริบิวต์ 'แหล่งที่มา' เป็นวัตถุประเภท 'System.Windows.Markup.StaticExtension' ข้อผิดพลาดที่วัตถุ 'System.Windows.Data.Binding' ในไฟล์มาร์กอัป 'BurnDisk; …
168 wpf  xaml  data-binding 

4
ความแตกต่างระหว่าง Observer, Pub / Sub และ Data Binding
คือความแตกต่างระหว่างสิ่งที่รูปแบบสังเกตการณ์ , เผยแพร่ / สมัครสมาชิกและการผูกข้อมูล ? ฉันค้นหาใน Stack Overflow เล็กน้อยและไม่พบคำตอบที่ดี สิ่งที่ฉันเชื่อคือการผูกข้อมูลเป็นคำทั่วไปและมีวิธีการใช้งานที่แตกต่างกันเช่นรูปแบบการสังเกตการณ์หรือรูปแบบ Pub / Sub ด้วยรูปแบบ Observer Observable จะอัพเดต Observers ด้วย Pub / Sub ผู้เผยแพร่โฆษณาจำนวนมากสามารถเผยแพร่ข้อความของบางคลาสและสมาชิกจำนวนมากสามารถสมัครสมาชิกข้อความของคลาสที่ต้องการได้ มีรูปแบบอื่น ๆ ของการใช้ "การผูกข้อมูล" หรือไม่?

10
AngularJS: วิธีที่ถูกต้องในการเชื่อมโยงกับคุณสมบัติของบริการ
ฉันกำลังมองหาวิธีปฏิบัติที่ดีที่สุดในการเชื่อมโยงกับคุณสมบัติบริการใน AngularJS ฉันได้ทำงานผ่านหลายตัวอย่างเพื่อเข้าใจวิธีเชื่อมโยงกับคุณสมบัติในบริการที่สร้างขึ้นโดยใช้ AngularJS ด้านล่างฉันมีสองตัวอย่างของวิธีการเชื่อมโยงกับคุณสมบัติในบริการ พวกเขาทั้งสองทำงาน ตัวอย่างแรกใช้การเชื่อมโยงพื้นฐานและตัวอย่างที่สองใช้ $ scope $ watch เพื่อเชื่อมโยงกับคุณสมบัติของบริการ ตัวอย่างเหล่านี้เป็นที่ต้องการเมื่อเชื่อมโยงกับคุณสมบัติในบริการหรือมีตัวเลือกอื่นที่ฉันไม่ทราบว่าจะแนะนำหรือไม่ หลักฐานของตัวอย่างเหล่านี้คือบริการควรอัปเดตคุณสมบัติ "lastUpdated" และ "การโทร" ทุก 5 วินาที เมื่ออัปเดตคุณสมบัติของบริการแล้วมุมมองควรสะท้อนถึงการเปลี่ยนแปลงเหล่านี้ ตัวอย่างทั้งสองนี้ทำงานได้สำเร็จ ฉันสงสัยว่ามีวิธีที่ดีกว่าในการทำมัน การผูกแบบพื้นฐาน รหัสต่อไปนี้สามารถดูและวิ่งได้ที่นี่: http://plnkr.co/edit/d3c16z <html> <body ng-app="ServiceNotification" > <div ng-controller="TimerCtrl1" style="border-style:dotted"> TimerCtrl1 <br/> Last Updated: {{timerData.lastUpdated}}<br/> Last Updated: {{timerData.calls}}<br/> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script> <script type="text/javascript"> var app = angular.module("ServiceNotification", …

4
การแปลงประเภท Spring MVC: PropertyEditor หรือ Converter?
ฉันกำลังมองหาวิธีที่ง่ายและง่ายที่สุดในการผูกและแปลงข้อมูลใน Spring MVC ถ้าเป็นไปได้โดยไม่ต้องทำการกำหนดค่า xml ใด ๆ จนถึงตอนนี้ฉันใช้PropertyEditorsดังนี้: public class CategoryEditor extends PropertyEditorSupport { // Converts a String to a Category (when submitting form) @Override public void setAsText(String text) { Category c = new Category(text); this.setValue(c); } // Converts a Category to a String (when displaying form) @Override public String …

3
ฉันจะตั้งค่าข้อความของ WPF Hyperlink ผ่านการผูกข้อมูลได้อย่างไร
ใน WPF ฉันต้องการสร้างไฮเปอร์ลิงก์ที่นำทางไปยังรายละเอียดของวัตถุและฉันต้องการให้ข้อความของไฮเปอร์ลิงก์เป็นชื่อของวัตถุ ตอนนี้ฉันมีสิ่งนี้: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock> แต่ฉันต้องการให้ "ชื่อวัตถุ" ผูกกับชื่อจริงของวัตถุ ฉันต้องการทำสิ่งนี้: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock> อย่างไรก็ตามคลาสไฮเปอร์ลิงก์ไม่มีคุณสมบัติข้อความหรือเนื้อหาที่เหมาะสำหรับการผูกข้อมูล (นั่นคือคุณสมบัติการอ้างอิง) ความคิดใด ๆ ?

7
การผูกรายการใน @RequestParam
ฉันกำลังส่งพารามิเตอร์จากแบบฟอร์มด้วยวิธีนี้: myparam[0] : 'myValue1' myparam[1] : 'myValue2' myparam[2] : 'myValue3' otherParam : 'otherValue' anotherParam : 'anotherValue' ... ฉันรู้ว่าฉันสามารถรับพารามิเตอร์ทั้งหมดในเมธอดคอนโทรลเลอร์ได้โดยการเพิ่มพารามิเตอร์เช่น public String controllerMethod(@RequestParam Map<String, String> params){ .... } ฉันต้องการผูกพารามิเตอร์ myParam [] (ไม่ใช่พารามิเตอร์อื่น ๆ ) กับรายการหรืออาร์เรย์ (อะไรก็ตามที่เก็บลำดับดัชนี) ดังนั้นฉันจึงลองใช้ไวยากรณ์เช่น: public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){ .... } และ public String controllerMethod(@RequestParam(value="myParam") String[] myParams){ .... } …

4
ใช้ StringFormat เพื่อเพิ่มสตริงในการโยง WPF XAML
ฉันมีแอปพลิเคชัน WPF 4 ที่มี TextBlock ซึ่งมีการผูกทางเดียวกับค่าจำนวนเต็ม (ในกรณีนี้อุณหภูมิเป็นองศาเซลเซียส) XAML มีลักษณะดังนี้: <TextBlock x:Name="textBlockTemperature"> <Run Text="{Binding CelsiusTemp, Mode=OneWay}"/></TextBlock> ใช้งานได้ดีสำหรับการแสดงค่าอุณหภูมิจริง แต่ฉันต้องการจัดรูปแบบค่านี้เพื่อให้รวม° C แทนที่จะเป็นเพียงตัวเลข (30 ° C แทนที่จะเป็นเพียง 30) ฉันอ่านเกี่ยวกับ StringFormat มาแล้วและฉันได้เห็นตัวอย่างทั่วไปหลายอย่างเช่นนี้: // format the bound value as a currency <TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /> และ // preface the bound value with a string and …

1
การกรองแบบสองทางใน AngularJS ทำอย่างไร?
สิ่งที่น่าสนใจอย่างหนึ่งที่ AngularJS สามารถทำได้คือใช้ตัวกรองกับนิพจน์การเชื่อมโยงฐานข้อมูลซึ่งเป็นวิธีที่สะดวกในการนำไปใช้เช่นสกุลเงินเฉพาะวัฒนธรรมหรือการจัดรูปแบบวันที่ของคุณสมบัติของโมเดล นอกจากนี้ยังดีที่มีคุณสมบัติที่คำนวณในขอบเขต ปัญหาคือคุณลักษณะเหล่านี้ไม่ทำงานกับสถานการณ์จำลองการเชื่อมต่อฐานข้อมูลแบบสองทาง - การเชื่อมฐานข้อมูลทางเดียวจากขอบเขตไปยังมุมมอง นี่ดูเหมือนจะเป็นการมองข้ามไปอย่างชัดเจนในห้องสมุดที่ยอดเยี่ยมอย่างอื่นหรือฉันพลาดอะไรไป? ในKnockoutJSฉันสามารถสร้างคุณสมบัติที่คำนวณด้วยการอ่าน / เขียนซึ่งอนุญาตให้ฉันระบุคู่ของฟังก์ชันซึ่งเรียกว่าเพื่อรับค่าของคุณสมบัติและอีกฟังก์ชันหนึ่งที่ถูกเรียกเมื่อตั้งค่าคุณสมบัติ สิ่งนี้ทำให้ฉันสามารถใช้ตัวอย่างเช่นอินพุตที่รับรู้วัฒนธรรมโดยให้ผู้ใช้พิมพ์ "$ 1.24" และแยกวิเคราะห์เป็นลอยใน ViewModel และมีการเปลี่ยนแปลงใน ViewModel ที่แสดงในอินพุต สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถพบได้คือการใช้$scope.$watch(propertyName, functionOrNGExpression);สิ่งนี้ช่วยให้ฉันมีฟังก์ชันที่เรียกใช้เมื่อคุณสมบัติในไฟล์$scopeเปลี่ยนแปลง แต่สิ่งนี้ไม่สามารถแก้ปัญหาได้เช่นปัญหาการป้อนข้อมูลที่คำนึงถึงวัฒนธรรม สังเกตเห็นปัญหาเมื่อฉันพยายามแก้ไข$watchedคุณสมบัติภายใน$watchวิธีการ: $scope.$watch("property", function (newValue, oldValue) { $scope.outputMessage = "oldValue: " + oldValue + " newValue: " + newValue; $scope.property = Globalize.parseFloat(newValue); }); ( http://jsfiddle.net/gyZH8/2/ ) องค์ประกอบการป้อนข้อมูลจะสับสนมากเมื่อผู้ใช้เริ่มพิมพ์ ฉันปรับปรุงโดยการแยกคุณสมบัติออกเป็นสองคุณสมบัติหนึ่งสำหรับค่าที่ไม่ได้แยกวิเคราะห์และอีกค่าหนึ่งสำหรับค่าที่แยกวิเคราะห์: $scope.visibleProperty= …

6
การพุชคุณสมบัติ GUI แบบอ่านอย่างเดียวกลับเข้าสู่ ViewModel
ฉันต้องการเขียน ViewModel ที่มักจะรู้สถานะปัจจุบันของคุณสมบัติการอ้างอิงแบบอ่านอย่างเดียวจาก View โดยเฉพาะ GUI ของฉันมี FlowDocumentPageViewer ซึ่งแสดงทีละหน้าจาก FlowDocument FlowDocumentPageViewer แสดงคุณสมบัติการอ้างอิงแบบอ่านอย่างเดียวสองรายการที่เรียกว่า CanGoToPreviousPage และ CanGoToNextPage ฉันต้องการให้ ViewModel ของฉันทราบค่าของคุณสมบัติ View ทั้งสองนี้เสมอ ฉันคิดว่าฉันสามารถทำได้ด้วยฐานข้อมูล OneWayToSource: <FlowDocumentPageViewer CanGoToNextPage="{Binding NextPageAvailable, Mode=OneWayToSource}" ...> หากอนุญาตสิ่งนี้จะสมบูรณ์แบบ: เมื่อใดก็ตามที่คุณสมบัติ CanGoToNextPage ของ FlowDocumentPageViewer เปลี่ยนไปค่าใหม่จะถูกผลักลงไปในคุณสมบัติ NextPageAvailable ของ ViewModel ซึ่งเป็นสิ่งที่ฉันต้องการ ขออภัยสิ่งนี้ไม่ได้รวบรวม: ฉันได้รับข้อผิดพลาดว่าคุณสมบัติ 'CanGoToPreviousPage' เป็นแบบอ่านอย่างเดียวและไม่สามารถตั้งค่าจากมาร์กอัปได้ เห็นได้ชัดว่าคุณสมบัติแบบอ่านอย่างเดียวไม่รองรับการเชื่อมต่อฐานข้อมูลใด ๆแม้แต่การเชื่อมต่อฐานข้อมูลที่เป็นแบบอ่านอย่างเดียวที่เกี่ยวกับคุณสมบัตินั้น ฉันสามารถทำให้คุณสมบัติของ ViewModel ของฉันเป็น DependencyProperties และทำการผูก OneWay ไปในทางอื่น …

8
ฉันจะผูก WPF DataGrid กับจำนวนคอลัมน์ตัวแปรได้อย่างไร
แอปพลิเคชัน WPF ของฉันสร้างชุดข้อมูลซึ่งอาจมีจำนวนคอลัมน์ที่แตกต่างกันในแต่ละครั้ง รวมอยู่ในผลลัพธ์คือคำอธิบายของแต่ละคอลัมน์ที่จะใช้ในการจัดรูปแบบ เอาต์พุตเวอร์ชันที่เรียบง่ายอาจมีลักษณะดังนี้: class Data { IList<ColumnDescription> ColumnDescriptions { get; set; } string[][] Rows { get; set; } } คลาสนี้ถูกตั้งค่าเป็น DataContext บน WPF DataGrid แต่จริงๆแล้วฉันสร้างคอลัมน์โดยใช้โปรแกรม: for (int i = 0; i < data.ColumnDescriptions.Count; i++) { dataGrid.Columns.Add(new DataGridTextColumn { Header = data.ColumnDescriptions[i].Name, Binding = new Binding(string.Format("[{0}]", i)) }); } …
124 c#  wpf  xaml  data-binding  datagrid 

5
มีวิธีเชื่อมโยงตัวแปลงค่าหลายตัวใน XAML หรือไม่
ฉันมีสถานการณ์ที่ฉันต้องแสดงค่าจำนวนเต็มโดยผูกไว้กับคุณสมบัติในบริบทข้อมูลของฉันหลังจากใส่ผ่านการแปลงสองรายการ: ย้อนกลับค่าภายในช่วง (เช่นช่วงคือ 1 ถึง 100 ค่าใน datacontext คือ 90 ผู้ใช้เห็นค่า 10) แปลงตัวเลขเป็นสตริง ฉันรู้ว่าฉันสามารถทำได้ทั้งสองขั้นตอนโดยการสร้างตัวแปลงของฉันเอง (ซึ่งใช้ IValueConverter) อย่างไรก็ตามฉันมีตัวแปลงค่าแยกต่างหากซึ่งทำเพียงขั้นตอนแรกและขั้นตอนที่สองครอบคลุมโดย Int32Converter มีวิธีใดบ้างที่ฉันสามารถเชื่อมโยงคลาสที่มีอยู่สองคลาสนี้ใน XAMLโดยไม่ต้องสร้างคลาสเพิ่มเติมที่รวมคลาสเหล่านั้นไว้ หากฉันต้องการชี้แจงเรื่องนี้โปรดแจ้งให้เราทราบ :) ขอบคุณ

7
การผูกการมองเห็นของปุ่มกับค่าบูลใน ViewModel
ฉันจะผูกการมองเห็นของปุ่มกับค่าบูลใน ViewModel ของฉันได้อย่างไร <Button Height="50" Width="50" Style="{StaticResource MyButtonStyle}" Command="{Binding SmallDisp}" CommandParameter="{Binding}" Cursor="Hand" Visibility="{Binding Path=AdvancedFormat}" />
122 c#  wpf  xaml  data-binding 

5
การเชื่อมโยงข้อมูล Android โดยใช้แท็กรวม
อัปเดตหมายเหตุ: ตัวอย่างข้างต้นทำงานได้อย่างถูกต้องเนื่องจากรีลีส 1.0-rc4 แก้ไขปัญหาการต้องการตัวแปรที่ไม่จำเป็น คำถามเดิม: ฉันทำตามที่อธิบายไว้ในเอกสารและไม่ได้ผล: main.xml: <layout xmlns:andr... <data> </data> <include layout="@layout/buttons"></include> .... buttons.xml: <layout xmlns:andr...> <data> </data> <Button android:id="@+id/button" ...." /> MyActivity.java: ... binding = DataBindingUtil.inflate... binding.button; ->cannot resolve symbol 'button' วิธีรับปุ่ม?

10
การตรวจจับข้อผิดพลาดในการตรวจสอบ WPF
ใน WPF คุณสามารถตรวจสอบการติดตั้งอยู่บนพื้นฐานของข้อผิดพลาดโยนในชั้นข้อมูลของคุณในระหว่างการผูกข้อมูลโดยใช้หรือExceptionValidationRuleDataErrorValidationRule สมมติว่าคุณมีการตั้งค่าการควบคุมมากมายด้วยวิธีนี้และคุณมีปุ่มบันทึก เมื่อผู้ใช้คลิกปุ่มบันทึกคุณต้องตรวจสอบให้แน่ใจว่าไม่มีข้อผิดพลาดในการตรวจสอบความถูกต้องก่อนที่จะดำเนินการบันทึก หากมีข้อผิดพลาดในการตรวจสอบความถูกต้องคุณต้องตะโกนใส่พวกเขา ใน WPF คุณจะทราบได้อย่างไรว่าการควบคุม Data Bound ของคุณมีข้อผิดพลาดในการตรวจสอบความถูกต้องหรือไม่?


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.