Recent Posts

Code C#: Ràng buộc một TabControl đến nguồn dữ liệu

-

<Window x:Class="TabControlUsingItemTemplate.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:src="clr-namespace:TabControlUsingItemTemplate"
    Title="TabControlUsingItemTemplate" Height="250" Width="250">
  <Window.Resources>
    <ObjectDataProvider x:Key="TabListResource" ObjectType="{x:Type src:TabList}" />
    <DataTemplate x:Key="HeaderTemplate">
      <TextBlock Text="{Binding Path=Header}" />
    </DataTemplate>
    <DataTemplate x:Key="ContentTemplate">
      <TextBlock Text="{Binding Path=Content}" />
    </DataTemplate>
  </Window.Resources>

  <DockPanel>
    <TabControl ItemsSource="{Binding Source={StaticResource TabListResource}}"
                  ItemTemplate="{StaticResource HeaderTemplate}"
                  ContentTemplate="{StaticResource ContentTemplate}"/>

  </DockPanel>

</Window>
//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
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.Shapes;
using System.Collections.ObjectModel;
namespace TabControlUsingItemTemplate
{
    public partial class Window1 : System.Windows.Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
    public class TabItemData
    {
        private string _header;
        private string _content;

        public TabItemData(string header, string content)
        {
            _header = header;
            _content = content;
        }
        public string Header
        {
            get { return _header; }
        }
        public string Content
        {
            get { return _content; }
        }
    }
    public class TabList : ObservableCollection<TabItemData>
    {
        public TabList(): base()
        {

            Add(new TabItemData("Header 1", "Content 1"));
            Add(new TabItemData("Header 2", "Content 2"));
            Add(new TabItemData("Header 3", "Content 3"));

        }
    }
}

Related Post:

  • Windows Phone: Tạo và Viết ứng dụng trên Windows Phone 8.0Bước 1: Vào menu File -> New -> Project để tạo mới 1 dự án ban đầu Bước 2: Trong cửa sổ New Project, lựa chọn Windows Phone trong mục Visual C# ở phía bên trái màn hình. Chọn loại ứng dụng là Windows Phone App. Sau đó, điền đầy tên ứng dụng trong mục Name và nơi lưu trữ ứng dụng trong mục Location (hình vẽ)Bước 3: Màn hình Visual Studio IDE sẽ được khởi tạo… Read More
  • Code C/C++: Thuật toán Dijkstra tìm đường đi ngắn nhấtMô tả bài toán: cho đồ thị vô hướng G=(V,E) hãy xác định đường đi ngắn nhất từ đỉnh D tới đỉnh C của đồ thị G.Ý tưởng thuật toán: sử dụng thuật toán Dijkstra.Mô tả dữ liệu đầu vào và đầu ra của bài toán:Dữ liệu vào: đồ thị đã liên thông và cho trong tập tin Bai6.inp. -  Dòng đầu ghi số n là số đỉnh của một đồ thị (0<n<100)-  Dòng thứ hai lưu … Read More
  • Code C/C++: Tìm đường đi Euler của đồ thị (bài toán tìm đường đi)Mô tả bài toán: cho đồ thị vô hướng G=(V,E) hãy xác định mọi đường đi qua tất cả các cạnh mỗi cạnh chỉ qua duy nhất 1 lần.Ý tưởng thuật toán:sử dụng kỹ thuật tìm kiếm theo chiều sâu bằng cách xóa cạnh đã đi qua trong quá trình tìm kiếm đường đi.Mô tả dữ liệu đầu vào và đầu ra của bài toán:Dữ liệu vào: cho trong tập tin Bai5.inp-  Dòng đầu ghi số n là số… Read More
  • Code C/C++: Thuật toán Prim tìm cây bao trùm tối thiểuMô tả bài toán: cho đồ thị vô hướng có trọng số G=(V,E) hãy tìm đường đi sao cho tất cả các đỉnh điều có đường đi với nhau và tổng trọng số của đường đi là nhỏ nhất.Ý tưởng thuật toán:Bước 1: xuất phát từ đỉnh k bất kỳ (thông thường chọn đỉnh đầu tiên) chọn một cạnh có trọng số nhỏ nhất liền kề với đỉnh k (min{A[k][j]}j=1..n) ta đánh dấu 2 đỉnh đi qua c… Read More
  • Code C/C++: Đường đi Hamilton (bài toán đồ thị)Mô tả bài toán: cho đồ thị vô hướng G=(V,E) hãy xác định mọi đường đi từ đỉnh xuất phát đi qua tất cả các đỉnh mỗi đỉnh chỉ qua duy nhất 1 lần.Ý tưởng thuật toán: sử dụng kỹ thuật tìm kiếm theo chiều sâu bằng cách đánh dấu đỉnh đã đi qua trong quá trình tìm kiếm.Mô tả dữ liệu đầu vào và đầu ra của bài toán:Dữ liệu vào: cho trong tập tin Bai4.inp-  Dòng … Read More
  • Code C/C++: Thuật toán Kruskal tìm cây bao trùm tối thiểuMô tả bài toán: Cho đồ thị vô hướng có trọng số G=(V,E) hãy tìm đường đi sao cho tất cả các đỉnh điều có đường đi với nhau và tổng trọng số của đường đi là nhỏ nhất. Tức là tìm đồ thị con liên thông  G' ⊆ G sao cho tổng trọng số của G’ là nhỏ nhất.Ý tưởng thuật toán:Bước 0: khởi tạo tập cạnh tìm được là rỗng và chuyển sang Bước 1.Bước 1: chọn … Read More




Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@