Hands On Lab WPF
Hands On Lab WPF
By:
Eko Zulkaryanto & M. Farhad Idris
(Microsoft Student Partners Advisor)
Tujuan dari sesi ini adalah membuat aplikasi pencarian pada peta menggunakan Hand
Writing Recognition.
1. Buka Visual Studio 2010 dan Buatlah project baru (Visual C# Windows WPF
Application) beri nama “SearchOnMapByHWR”.
2. Di Tab MainWindow.xaml dan di tab XAML anda akan melihat code berikut:
<Window x:Class="SearchOnMapByHWR.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
</Grid>
</Window>
3. Ubah ukuran dan Title Windows dengan mengubah code seperti di bawah ini:
Title="Search On Map" Height="400" Width="400">
4. Kemudian kita buat control InkCanvas, TextBox dan Button di dalam tag Grid.
Dengan mengetikkan code program di bawah ini:
<Grid>
<InkCanvas Name="theInkCanvas" Height="auto" Width="auto"
Background="Aquamarine" Margin="10,5,5,100" />
1
<TextBox VerticalAlignment="Bottom" Name="textBox1"
Background="Azure" Margin="10,0,5,60"
Height="30"></TextBox>
</Grid>
5. Pastikan setiap button mempunyai event Click seperti diatas.
6. Selanjutnya double klik btnRecognize dan Anda akan melihat block code seperti ini:
private void btnRecognize_Click(object sender, RoutedEventArgs e)
{
}
7. Kemudian tambahkan referensi dari .dll file yang telah disediakan yaitu IACore.dll,
IALoader.dll, dan IAWinFx.dll.
8. Tambahkan code berikut:
using System.Windows.Ink;
2
9. Dan ikuti code program di bawah ini :
private void btnRecognize_Click(object sender, RoutedEventArgs e)
{
InkAnalyzer theInkAnalyzer = new InkAnalyzer();
try
{
theInkAnalyzer.AddStrokes(theInkCanvas.Strokes);
}
catch
{
MessageBox.Show("Ditulis donk!");
}
AnalysisStatus status = theInkAnalyzer.Analyze();
if (status.Successful)
{
textBox1.Text = theInkAnalyzer.GetRecognizedString();
}
else
{
MessageBox.Show("Maaf tulisan Anda jelek!");
this.theInkCanvas.Strokes.Clear();
}
}
3
}
13. Tambahkan code program di bawah ini:
private void btnClear_Click(object sender, RoutedEventArgs e)
{
this.theInkCanvas.Strokes.Clear();
textBox1.Text = "";
}
14. Selesai.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition MinWidth="500"/>
</Grid.ColumnDefinitions>
4
5. Tambahkan button baru dengan nama btnSearch dengan cara menambahkan
code di bawah ini:
</Grid>
Pastikan juga event click dari btnSearch sudah dibuat juga.
Hasilnya seperti ini (Control + F5):
5
6. Selanjutnya kita ke MainWindow.xaml.cs, tambahkan assembly reference
“VirtualEarthWPFControl.dll”.
7. Kembali ke MainWindow.xaml di bagian XAML view. Tambahkan reference
dengan menambahkan code berikut:
<Window x:Class="SearchOnMapByHWR.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ve="clr-
namespace:VirtualEarthWPFControl;assembly=VirtualEarthWPFControl"
Title="Search on Map " Height="600" Width="900">
</Grid>
9. Double klik pada button btnSearch atau dengan cara klik kanan seperti di bawah
ini:
6
Klik Navigate to Event Handler
10. Kemudian Anda melihat blok kode dari event btnSearch, tambahkan code
program berikut:
7
12. Selesai. Anda bias mencoba sendiri dengan menuliskan kata “Jakarta” pada
inkCanvas. Kemudian klik button Recognize, jika sudah benar bahwa tulisan Anda
dikenali sebagai kata Jakarta, klik Search On Map. Lihat gambar di bawah:
Mode Road:
Mode Aerial:
8
Tim Penyusun :
1. Eko Zulkaryanto
Microsoft Student Partners Advisor
Computer Science Student, Bogor Agricultural University
Eko.zulkaryanto@live.com atau ekozul@student-partners.com
http://zulkaryanto.wordpress.com
http://student.netindonesia.net/blogs/ekozul
2. M. Farhad Idris
Microsoft Student Partners Advisor
Computer Science Student, Bogor Agricultural University
farhadalaydrus@live.com
http://kodingsambilngopi.blogspot.com
http://student.netindonesia.net/blogs/farhadalaydrus