舉報

會員
Mastering Windows Presentation Foundation
MicrosoftWindowsPresentationFoundation(WPF)providesseverallibrariesandAPIsfordeveloperstocreateengaginguserexperiences.Thisbookfeaturesawiderangeofsimplethroughtocomplexexamplestodemonstratehowtodevelopenterprise-gradeapplicationsforWindowsdesktopwithWPF.ThisupdatedsecondeditionofMasteringWindowsPresentationFoundationstartsbycoveringthebenefitsofusingtheModel-View-ViewModel(MVVM)softwarearchitecturalpatternwithWPF,beforeguidingyouthroughdebuggingyourWPFapps.Thebookwillthentakeyouthroughtheapplicationarchitectureandbuildingthefoundationlayerforyourapps.Asyouadvance,you'llgettogripswithdatabinding,explorethevariousbuilt-inWPFcontrols,andcustomizethemtosuityourrequirements.You'lllearnhowtocreatecustomcontrolstomeetyourneedswhenthebuilt-infunctionalityisnotenough.You'llalsolearnhowtoenhanceyourapplicationsusingpracticalanimations,stunningvisuals,andresponsivedatavalidation.Toensurethatyourappisnotonlyinteractivebutalsoefficient,you'llfocusonimprovingapplicationperformance,andfinally,discoverthedifferentmethodsfordeployingyourapplications.Bytheendofthisbook,you'llbeproficientinusingWPFfordevelopingefficientyetrobustuserinterfaces.
目錄(200章)
倒序
- 封面
- Title Page
- Copyright and Credits
- Mastering Windows Presentation Foundation Second Edition
- About Packt
- Why subscribe?
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- A Smarter Way of Working with WPF
- What is MVVM and how does it help?
- Models
- View Models
- Views
- Data binding
- So how does MVVM help?
- Is there a downside?
- Debunking the myth about code behind
- Learning how to communicate again
- Introducing the ICommand interface
- Handling events in Attached Properties
- Making use of delegates
- Structuring the application code base
- Summary
- Debugging WPF Applications
- Utilizing the output window
- Putting Presentation Trace Sources to work
- Discovering inner exceptions
- Debugging data bound values
- Outputting values to UI controls
- Catching changing Dependency Property values
- Exploiting converters
- Summary
- Writing Custom Application Frameworks
- What is an application framework?
- Encapsulating common functionality
- In base classes
- Through interfaces
- With Extension Methods
- In UI controls
- With converters
- Constructing a custom application framework
- Separating the Data Access Layer
- Providing services
- Implementing Dependency Injection
- Connecting Views with View Models
- Locating View Models
- Summary
- Becoming Proficient with Data Binding
- Data binding basics
- Binding path syntax
- Escaping invalid characters
- Exploring the Binding class
- Directing data bound traffic
- Binding to different sources
- Binding with priority
- Binding from within control templates
- Binding source changes
- Converting data bound values
- Binding multiple sources to a single target property
- Dependency Properties
- Setting metadata
- Declaring read-only Dependency Properties
- Registering Attached Properties
- Prioritizing value setting sources
- Data templates
- Taking complete control
- Displaying hierarchical data
- Data binding to enumeration collections
- Summary
- Using the Right Controls for the Job
- Investigating the built-in controls
- Inheriting framework abilities
- Laying it on the line
- Containing controls
- Canvas
- DockPanel
- Grid
- StackPanel
- UniformGrid
- WrapPanel
- Providing custom layout behavior
- Content controls
- Presenting content
- Items controls
- Adorners
- Modifying existing controls
- Styling
- Being resourceful
- Merging resources
- Triggering changes
- Templating controls
- Attaching properties
- Combining controls
- Creating custom controls
- Summary
- Adapting the Built-In Controls
- Inspecting protected methods
- Clipping the layout
- Altering default behavior
- Creating overridable methods
- Tailoring to attain our requirements
- Populating with Data
- Progressing toward the Target
- Highlighting the selection
- Indicating in the Axes
- Emphasizing the Selection
- Summary
- Mastering Practical Animations
- Investigating timelines
- Introducing key-frames
- Telling stories
- Controlling storyboards
- Easing functions
- Animating along a path
- Creating everyday animations
- Summary
- Creating Visually Appealing User Interfaces
- Styling applications consistently
- Overriding default control styles
- Using professional icons
- Layering visuals
- Throwing shadows
- Declaring multiple borders
- Reusing composite visuals
- Reflecting light
- Creating glowing effects
- Putting it all together
- Moving away from the ordinary
- Casting reflections
- Exploring borderless windows
- Visualizing data
- Livening up the UI controls
- Summary
- Implementing Responsive Data Validation
- Using validation rules – to do or not to do?
- Getting to grips with validation interfaces
- Implementing the IDataErrorInfo interface
- Introducing the INotifyDataErrorInfo interface
- Annotating data
- Varying levels of validation
- Incorporating multiple validation techniques
- Customizing the error template
- Avoiding UI-based validation errors
- Keeping Synchronized with Legacy Behavior
- Amalgamating validation and visuals
- Summary
- Completing that Great User Experience
- Providing user feedback
- Utilizing multiple threads
- Discovering the Async and Await keywords
- Building asynchrony into our framework
- Going the extra mile
- Producing in-application help
- Enabling user preferences
- Extending common courtesies
- Unburdening the end user
- Summary
- Improving Application Performance
- Leveraging the power of hardware rendering
- Making more efficient resources
- Freezing objects
- Using the right controls for performance
- Drawing conclusions
- Imaging more efficiently
- Enhancing the performance of textual output
- Liking the linking
- Data binding
- Registering Dependency Properties
- Binding to collections
- Shrinking data objects
- Virtualizing collections
- Handling events
- Summary
- Deploying Your Masterpiece Application
- Installing Windows applications
- Introducing the Setup Project
- Working with the InstallShield Limited Edition project
- Utilizing ClickOnce functionality
- Securing deployments
- Isolating storage
- Accessing application versions
- Summary
- What Next?
- Turning your attention to future projects
- Improving our application framework
- Logging errors
- Using online resources
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 16:49:33
推薦閱讀
- FuelPHP Application Development Blueprints
- Learning Real-time Processing with Spark Streaming
- Java EE框架整合開發入門到實戰:Spring+Spring MVC+MyBatis(微課版)
- 碼上行動:零基礎學會Python編程(ChatGPT版)
- 深入淺出Android Jetpack
- Amazon S3 Cookbook
- Mastering Unity 2D Game Development(Second Edition)
- Python圖形化編程(微課版)
- JavaScript程序設計(第2版)
- 零基礎學Python編程(少兒趣味版)
- Kotlin Programming By Example
- Oracle Data Guard 11gR2 Administration Beginner's Guide
- Clojure High Performance Programming(Second Edition)
- C++17 By Example
- 金融商業數據分析:基于Python和SAS
- Learning NHibernate 4
- Expert Cube Development with SSAS Multidimensional Models
- Getting Started with Hazelcast
- Python High Performance(Second Edition)
- 軟件定義存儲:原理、實踐與生態
- C語言學習手冊
- JavaScript Security
- 青少年編程魔法課堂:Python圖形化創意編程
- Java面向對象程序設計(第3版)
- Java實踐指南
- 實用XML應用開發技術
- R的極客理想:高級開發篇
- XML實用技術自學經典
- Visual Basic程序設計與應用教程
- 全棧軟件測試實戰(基礎+方法+應用)(慕課版)