Saturday, 15 May 2010

.net - Data-Binding in WPF (SCSM Incident Request Form) -



.net - Data-Binding in WPF (SCSM Incident Request Form) -

i working on scsm (microsoft service center service manager) 2012 project, in have create custom incident form utilize within console. have tried extend existing form in authoring tool, found limited in function. hence went downwards road of working on new form in visual studio 2013 (i assume cannot modify existing incident form assembly in vstudio otherwise create job alot easier). have completed ui of form, , imported authoring tool add together functions not nowadays in vstudio (like list picker, etc.). have go authoring tool (or visual studio depending on answers) , focus on binding textboxes , controls actual data… here kind of lost. how go doing this? know have point textbox illustration location on pull info from, pulling info anyways? example, status, title, etc. these must bound info object somewhere in smdb (service manager database) that's far know. guidance, pointers, tips, links documentation can read appreciated! finish newbie @ wpf , have been learning go, if possible seek minimize jargon , explain each step. in advance!

code

incident_request_form.xaml.cs

using system; using system.collections.generic; using system.linq; using system.text; /// using system.threading.tasks; using system.windows; using system.windows.controls; using system.windows.data; using system.windows.documents; using system.windows.input; using system.windows.media; using system.windows.media.imaging; using system.windows.navigation; using system.windows.shapes; namespace wpfcontrollibrary1 { /// <summary> /// interaction logic usercontrol1.xaml /// </summary> public partial class usercontrol1 : usercontrol { public usercontrol1() { initializecomponent(); } } }

incident_request_form.xaml

<usercontrol x:class="wpfcontrollibrary1.usercontrol1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:ignorable="d" d:designheight="1000" d:designwidth="1024" background="white"> <grid x:name="background_grid" width="1024" height="1000" background="white"> <grid.rowdefinitions> <rowdefinition height="0*"/> <rowdefinition/> </grid.rowdefinitions> <rectangle fill="#fff4f4f5" horizontalalignment="left" height="144" grid.rowspan="2" stroke="black" verticalalignment="top" width="1024" strokethickness="5"/> <image horizontalalignment="left" height="134" grid.rowspan="2" verticalalignment="top" width="560" source="logo.png" margin="10,10,0,0"/> <tabcontrol horizontalalignment="left" height="826" margin="524,164,0,0" grid.rowspan="2" verticalalignment="top" width="490"> <tabitem x:name="detail_tab" header="incident details" cursor="hand"> <grid background="#ffe8f4f5" margin="10,6,0,5.6"> <rectangle x:name="assignment_box_copy1" fill="#ff8fcbf7" horizontalalignment="left" height="40" stroke="black" verticalalignment="top" width="470" strokethickness="0"/> <label x:name="incident_detail_label" content="incident detail" horizontalalignment="left" height="41" verticalalignment="top" width="355" cursor="none" fontsize="24" fontweight="bold" fontfamily="microsoft yahei ui"/> <label x:name="category_label" content="category:" horizontalalignment="left" margin="0,40,0,0" verticalalignment="top"/> <label x:name="area_label" content="area:" horizontalalignment="left" margin="0,66,0,0" verticalalignment="top"/> <label x:name="subarea_label" content="sub-area:" horizontalalignment="left" margin="0,92,0,0" verticalalignment="top"/> <label x:name="impact_label" content="impact" horizontalalignment="left" margin="0,137,0,0" verticalalignment="top"/> <label x:name="urgency_label" content="urgency" horizontalalignment="left" margin="0,163,0,0" verticalalignment="top"/> <label x:name="priority_label" content="priority:" horizontalalignment="left" margin="0,189,0,0" verticalalignment="top"/> <label x:name="service_contract_label" content="service contract:" horizontalalignment="left" margin="0,235,0,0" verticalalignment="top"/> <label x:name="sla_target_date_label" content="sla target date:" horizontalalignment="left" margin="0,266,0,0" verticalalignment="top"/> <label x:name="alert_status_label" content="alert status:" horizontalalignment="left" margin="0,319,0,0" verticalalignment="top"/> <checkbox x:name="kb_candidate_checkbox" content="candiate knowledge db" horizontalalignment="left" margin="10,390,0,0" verticalalignment="top"/> <label x:name="hours_worked_label" content="hours worked:" horizontalalignment="left" margin="0,411,0,0" verticalalignment="top"/> <label x:name="closure_code_label" content="closure code:" horizontalalignment="left" margin="0,436,0,0" verticalalignment="top"/> <label x:name="solution_label" content="solution:" horizontalalignment="left" margin="0,467,0,0" verticalalignment="top"/> <checkbox x:name="pm_candidate_checkbox" content="candidate problem management" horizontalalignment="left" margin="192,390,0,0" verticalalignment="top"/> </grid> </tabitem> <tabitem x:name="activities_tab" header="activities" cursor="hand"> <grid background="#ffe8f4f5"> <rectangle x:name="assignment_box_copy3" fill="#ff8fcbf7" horizontalalignment="left" height="40" stroke="black" verticalalignment="top" width="470" strokethickness="0" margin="10,10,0,0"/> <label x:name="activities_label_copy" content="activities" horizontalalignment="left" height="41" verticalalignment="top" width="355" cursor="none" fontsize="24" fontweight="bold" fontfamily="microsoft yahei ui" margin="10,10,0,0"/> <tabcontrol horizontalalignment="left" height="728" margin="10,56,0,0" verticalalignment="top" width="460"> <tabitem x:name="update_tab" header="update"> <grid x:name="update_tab_grid" background="#ffe5e5e5"> <label x:name="type_label" content="type:" horizontalalignment="left" height="24" verticalalignment="top" cursor="none" fontweight="bold" width="45" fontfamily="microsoft jhenghei ui" margin="10,10,0,0"/> <checkbox x:name="visible_2_customers_checkbox" content="visible customer?" horizontalalignment="left" margin="308,14,0,0" verticalalignment="top"/> <label x:name="update_label" content="update:" horizontalalignment="left" margin="10,39,0,0" verticalalignment="top"/> <textbox x:name="the_update_textbox" horizontalalignment="left" height="616" margin="10,70,0,0" textwrapping="wrap" text="textbox" verticalalignment="top" width="431"/> </grid> </tabitem> <tabitem x:name="journal_updates_tab" header="journal updates"> <grid x:name="journal_updates_tab_grid" background="#ffe5e5e5"> <textblock x:name="journal_update_textblock" horizontalalignment="left" height="676" margin="10,10,0,0" textwrapping="wrap" text="textblock" verticalalignment="top" width="431"/> </grid> </tabitem> <tabitem x:name="historic_activities_tab" header="historic activities" horizontalalignment="left" height="20" verticalalignment="top"> <grid x:name="historic_activities_tab_grid" background="#ffe5e5e5"> <label x:name="filter_label" content="filter activity type:" horizontalalignment="left" margin="10,10,0,0" verticalalignment="top" height="28"/> <button x:name="filter_button" content="filter" horizontalalignment="left" height="29" margin="10,76,0,0" verticalalignment="top" width="125"/> </grid> </tabitem> </tabcontrol> </grid> </tabitem> <tabitem x:name="related_tab" header="related records" horizontalalignment="left" height="20" verticalalignment="top" cursor="hand"> <grid x:name="tabs" background="#ffe5e5e5"> <tabcontrol horizontalalignment="left" height="774" margin="10,10,0,0" verticalalignment="top" width="460"> <tabitem x:name="interactions_tab" header="interactions"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="incidents_tab" header="incidents"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="changes_tab" header="changes" horizontalalignment="left" height="20" verticalalignment="top"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="quotes_tab" header="quotes" horizontalalignment="left" height="20" verticalalignment="top" width="57.6"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="problems_tab" header="problems" horizontalalignment="left" height="20" verticalalignment="top"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="rma_tab" header="rma" horizontalalignment="left" height="20" verticalalignment="top" width="57.6"> <grid background="#ffe5e5e5"/> </tabitem> </tabcontrol> </grid> </tabitem> <tabitem x:name="history_tab" header="history" horizontalalignment="left" height="20" verticalalignment="top" width="57.6"> <grid x:name="tab_grid" background="#ffe5e5e5" cursor="arrow"/> </tabitem> <tabitem x:name="attachment_tab" header="attachments" horizontalalignment="left" height="20" verticalalignment="top" cursor="hand"> <grid background="#ffe5e5e5"/> </tabitem> <tabitem x:name="alerts_tab" header="alerts" horizontalalignment="left" height="20" verticalalignment="top" width="57.6"> <grid background="#ffe5e5e5"/> </tabitem> </tabcontrol> <rectangle x:name="assignment_box_copy2" fill="#ff8fcbf7" horizontalalignment="left" height="40" margin="10,160,0,0" stroke="black" verticalalignment="top" width="499" strokethickness="0" grid.rowspan="2"/> <label x:name="heading" content="incident information" horizontalalignment="left" height="41" margin="10,164,0,0" grid.rowspan="2" verticalalignment="top" width="355" cursor="none" fontsize="24" fontweight="bold" fontfamily="microsoft yahei ui"/> <grid x:name="general_information_grid" horizontalalignment="left" height="785" margin="10,205,0,0" grid.rowspan="2" verticalalignment="top" width="509"> <label x:name="incident_id" content="incident id:" horizontalalignment="left" height="24" verticalalignment="top" cursor="none" fontweight="bold" width="75" fontfamily="microsoft jhenghei ui"/> <label x:name="status_label" content="status:" horizontalalignment="left" height="24" verticalalignment="top" cursor="none" fontweight="bold" width="75" fontfamily="microsoft jhenghei ui" margin="0,29,0,0"/> <label x:name="status_reasoning_label" content="status reasoning:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,53,0,0"/> <rectangle x:name="assignment_box" fill="#ff8fcbf7" horizontalalignment="left" height="40" margin="0,84,0,0" stroke="black" verticalalignment="top" width="499" strokethickness="0"/> <label x:name="assignment_label" content="assignment" margin="0,84,223,0" height="38" width="137" fontsize="22" fontweight="bold" verticalalignment="top" horizontalalignment="left"/> <label x:name="assignment_group_label" content="assignment group:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,124,0,0"/> <label x:name="assignee_label" content="assignee:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,150,0,0"/> <label x:name="vendor_label" content="vendor:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,176,0,0"/> <label x:name="reference_number_label" content="vendor reference number:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,202,0,0"/> <rectangle x:name="assignment_box_copy" fill="#ff8fcbf7" horizontalalignment="left" height="35" margin="0,233,0,0" stroke="black" verticalalignment="top" width="499" strokethickness="0"/> <label x:name="afected_items" content="affected items" margin="0,230,0,0" height="38" fontsize="22" fontweight="bold" verticalalignment="top" horizontalalignment="left" width="165"/> <label x:name="status_label_copy" content="status:" horizontalalignment="left" height="24" verticalalignment="top" cursor="none" fontweight="bold" width="75" fontfamily="microsoft jhenghei ui" margin="0,29,0,0"/> <label x:name="service_label" content="service:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,277,0,0"/> <label x:name="affected_ci_label" content="affected ci:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,308,0,0"/> <checkbox x:name="critical_ci_checkbox" content="critical ci" horizontalalignment="left" margin="2,346,0,0" verticalalignment="top"/> <checkbox x:name="pending_change_checkbox" content="pending change" horizontalalignment="left" margin="156,346,0,0" verticalalignment="top"/> <checkbox x:name="ci_operational_checkbox" content="ci operational (no outage)" horizontalalignment="left" margin="326,346,0,0" verticalalignment="top"/> <label x:name="outage_start_label" content="outage start:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,367,0,0"/> <label x:name="outage_end_label" content="outage end:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,393,0,0"/> <label x:name="location_label" content="location:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,424,0,0"/> <label x:name="title_label" content="title:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,455,0,0"/> <label x:name="description_label" content="description:" horizontalalignment="left" verticalalignment="top" cursor="none" fontweight="bold" fontfamily="microsoft jhenghei ui" margin="0,521,0,0"/> <textbox x:name="vendor_reference_textbox" horizontalalignment="left" height="26" margin="199,202,0,0" textwrapping="wrap" verticalalignment="top" width="300" tooltip="enter vendor reference # here"/> <textbox x:name="title_textbox" horizontalalignment="left" height="26" margin="10,486,0,0" textwrapping="wrap" verticalalignment="top" width="489" tooltip="enter vendor reference # here"/> <textbox x:name="description_textbox" horizontalalignment="left" height="228" margin="10,547,0,0" textwrapping="wrap" verticalalignment="top" width="489" tooltip="enter vendor reference # here"/> </grid> </grid> </usercontrol>

you bind this:

<textbox text="{binding path=title, mode=twoway, updatesourcetrigger=propertychanged}" background="#ffecc3c3" margin="5,0,10,0"/> <scwpf:singleinstancepicker instance="{binding path=microsoft.systemcenter.configurationmanager.mobiledevice, mode=twoway, updatesourcetrigger=propertychanged}" baseclassid="c928e643-baa3-2cd7-3662-739befc4ac43" margin="5,0,10,0"/>

check videotutorial also:

http://www.concurrency.com/blog/building-custom-forms-for-service-manager-with-visual-studio/

cheers morten

.net wpf winforms xaml data-binding

No comments:

Post a Comment